build(deps-dev): bump @types/node from 18.19.33 to 18.19.34 #4902
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Workflow | |
on: | |
push: | |
# trigger on all branches except for dependabot-triggered push events | |
branches-ignore: [dependabot/**] | |
tags: | |
- 'v*' # trigger on all tags | |
paths-ignore: | |
- '**.md' # ignore changes in markdown files | |
pull_request: | |
branches: [develop] | |
types: [opened, synchronize, reopened] | |
permissions: | |
contents: read | |
# globals | |
env: | |
# general settings | |
MAIN_REPO_OWNER: webern-unibas-ch # Main repo owner (default: webern-unibas-ch; should not be changed) | |
# dev settings | |
DEV_REPO: webern-unibas-ch/awg-app-dev | |
DEV_GH_PAGES_BRANCH: gh-pages | |
DEV_GH_PAGES_DIR: gh-pages-dir | |
DIST_DIR: dist | |
jobs: | |
test: | |
name: Run tests (Node v${{ matrix.node-version }}, ${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [18.19, 20.13] | |
outputs: | |
sha: ${{ steps.get-sha.outputs.SHA }} | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0 | |
with: | |
egress-policy: audit | |
- name: Checkout repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
fetch-depth: 0 # Get all history and branches | |
- name: Get git sha | |
id: get-sha | |
run: echo "SHA=$(git describe)" >> $GITHUB_OUTPUT | |
- name: Verify git sha | |
run: | | |
echo "SHA: ${{ steps.get-sha.outputs.SHA }}" | |
- name: Set up node ${{ matrix.node-version}} | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # ratchet:actions/setup-node@v4.0.2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'yarn' | |
- name: yarn install dependencies | |
run: | | |
yarn install | |
- name: Run CI tests with coverage | |
run: | | |
yarn run test:ci | |
- name: Upload code coverage | |
if: matrix.node-version == 20.13 # upload coverage report for current node version only | |
uses: codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # v4.4.1 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
with: | |
flags: unittests | |
env_vars: ${{ matrix.os }}, ${{ matrix.node-version }} | |
- name: Perform SonarCloud Analysis | |
if: matrix.node-version == 20.13 && github.event_name != 'pull_request' && github.repository_owner == env.MAIN_REPO_OWNER # perform SonarCloud analysis only for current node version and not with pull requests or forks(token issue) | |
uses: SonarSource/sonarcloud-github-action@4006f663ecaf1f8093e8e4abb9227f6041f52216 # v2.2.0 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
- name: Test build from develop for GH Pages | |
if: github.ref == 'refs/heads/develop' | |
run: | | |
echo "Updating dev-version" | |
yarn run pre-release --release-as ${{ steps.get-sha.outputs.SHA }} --skip.changelog --skip.commit --skip.tag | |
echo "Building dev-version" | |
yarn run build:dev | |
- name: Test build from main for GH Pages | |
if: github.ref == 'refs/heads/main' | |
run: | | |
yarn run build:gh | |
- name: Upload build artifacts | |
if: matrix.node-version == 20.13 # upload build artifacts for current node version only | |
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # ratchet:actions/upload-artifact@v4.3.3 | |
with: | |
name: dist | |
path: ${{ github.workspace }}/${{ env.DIST_DIR }} | |
retention-days: 1 | |
deploy_dev: | |
# run only on develop | |
if: github.ref == 'refs/heads/develop' | |
name: Deploy app from develop (Node v${{ matrix.node-version }}, ${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
needs: test | |
permissions: | |
contents: write | |
env: | |
SHA: ${{ needs.test.outputs.sha }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [20.13] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0 | |
with: | |
egress-policy: audit | |
- name: Checkout repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
# ref (branch, tag or SHA) to check out | |
ref: ${{ env.DEV_GH_PAGES_BRANCH }} | |
# relative path under $GITHUB_WORKSPACE to place the repository | |
path: ${{ env.DEV_GH_PAGES_DIR }} | |
- name: Download build artifacts | |
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # ratchet:actions/upload-artifact@v4.1.7 | |
with: | |
name: dist | |
path: ${{ github.workspace }}/${{ env.DIST_DIR }} | |
- name: Copy artifacts to gh-pages | |
run: | | |
cp -r ${{ env.DIST_DIR }}/awg-app/. ${{ env.DEV_GH_PAGES_DIR }}/dev/ | |
- name: Configure git | |
working-directory: ${{ env.DEV_GH_PAGES_DIR }} | |
run: | | |
echo "Configuring git" | |
git config user.name "github-actions" | |
git config user.email "github-actions@users.noreply.github.com" | |
- name: Commit files | |
working-directory: ${{ env.DEV_GH_PAGES_DIR }} | |
run: | | |
echo "Running git commit" | |
git add . | |
git commit -m "Staging dev (${{ env.SHA }}) on gh-pages" | |
- name: Push changes to gh-pages (dry-run mode) | |
working-directory: ${{ env.DEV_GH_PAGES_DIR }} | |
run: git push -v --dry-run origin HEAD:$DEV_GH_PAGES_BRANCH | |
- name: Push changes to gh-pages | |
working-directory: ${{ env.DEV_GH_PAGES_DIR }} | |
run: git push -v origin HEAD:$DEV_GH_PAGES_BRANCH | |
- name: Congratulations | |
if: ${{ success() }} | |
run: echo "🎉 New develop build deployed 🎊" | |
deploy: | |
# run only on main | |
if: github.ref == 'refs/heads/main' | |
name: Deploy app from main (Node v${{ matrix.node-version }}, ${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
needs: test | |
permissions: | |
contents: write | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [20.13] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0 | |
with: | |
egress-policy: audit | |
- name: Checkout repository | |
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
- name: Set up node ${{ matrix.node-version}} | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'yarn' | |
- name: yarn install dependencies | |
run: | | |
yarn install | |
- name: Build app for GH Pages | |
run: | | |
yarn run build:gh | |
- name: Deploy to GH Pages | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
yarn run deploy:ci | |
release: | |
# run only on tags | |
if: startsWith(github.ref, 'refs/tags/') | |
name: Create Release from tag | |
runs-on: ${{ matrix.os }} | |
needs: test | |
permissions: | |
contents: write | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [20.13] | |
steps: | |
- name: Harden Runner | |
uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0 | |
with: | |
egress-policy: audit | |
- name: Get tag version | |
id: get_version | |
run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} | |
- name: Create Release | |
id: create_release | |
if: ${{ success() && startsWith(github.ref, 'refs/tags/') }} | |
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # ratchet:softprops/action-gh-release@v2.0.5 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
TAG_VERSION: ${{ steps.get_version.outputs.VERSION }} | |
with: | |
name: Release ${{ env.TAG_VERSION }} | |
body: "A prototype web application for the online edition of the [Anton Webern Gesamtausgabe](https://www.anton-webern.ch), located at the Department of Musicology of the University of Basel. It is written in [Angular](https://angular.io/) and runs on [edition.anton-webern.ch](https://edition.anton-webern.ch).\n\n Changes since last release: https://github.com/${{ github.repository }}/blob/${{ env.TAG_VERSION }}/CHANGELOG.md" | |
draft: false | |
prerelease: false |