name: 'Release' on: push: branches: [master] jobs: release: runs-on: 'ubuntu-latest' steps: - uses: 'actions/checkout@v3.5.3' with: fetch-depth: 0 persist-credentials: false submodules: recursive - name: 'Import GPG key' uses: 'crazy-max/ghaction-import-gpg@v5.3.0' with: gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} git_user_signingkey: true git_commit_gpgsign: true - name: 'Install Build Tools' run: 'sudo apt-get install --yes build-essential gcc make clang-format doxygen doxygen-gui doxygen-doc graphviz' - run: 'make set_version' - name: 'Use Node.js' uses: 'actions/setup-node@v3.6.0' with: node-version: '18.16.1' - name: 'Install Release Tools' run: 'npm install --save-dev semantic-release@21.0.5 @commitlint/cli@17.6.6 @commitlint/config-conventional@17.6.6 @semantic-release/git@10.0.1 @semantic-release/exec@6.0.3 @saithodev/semantic-release-backmerge@3.2.0 vercel@30.2.3' - run: 'rm --force package.json package-lock.json' - name: 'Release' run: 'npx semantic-release' env: GH_TOKEN: ${{ secrets.GH_TOKEN }} GIT_COMMITTER_NAME: ${{ secrets.GIT_NAME }} GIT_COMMITTER_EMAIL: ${{ secrets.GIT_EMAIL }} - name: 'Generate Documentation' run: 'make documentation' - name: 'Deploy to Vercel' run: 'npx vercel ./documentation/html --token="${VERCEL_TOKEN}" --prod' env: VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}