name: "Release" on: push: branches: [master] jobs: release: runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v4.1.1" with: fetch-depth: 0 persist-credentials: false submodules: "recursive" - name: "Import GPG key" uses: "crazy-max/ghaction-import-gpg@v6.1.0" with: gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} git_user_signingkey: true git_commit_gpgsign: true - run: "sudo apt update" - name: "Install Build Tools" run: "sudo apt install --yes build-essential gcc make clang-format" - name: "Install Documentation Tools" run: "sudo apt install --yes doxygen doxygen-gui doxygen-doc graphviz" - run: "make set_version" - name: "Use Node.js" uses: "actions/setup-node@v4.0.1" with: node-version: "20.10.0" - name: "Install Release Tools" run: "npm install --save-dev semantic-release@22.0.12 @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3 @semantic-release/git@10.0.1 @semantic-release/exec@6.0.3 @saithodev/semantic-release-backmerge@4.0.1 vercel@33.0.1" - 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 }}