1
1
mirror of https://github.com/theoludwig/libcproject.git synced 2024-11-14 16:03:13 +01:00
libcproject/.github/workflows/release.yml

60 lines
1.8 KiB
YAML

name: "Release"
on:
push:
branches: [main]
jobs:
release:
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v4.1.7"
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.3"
with:
node-version: "20.17.0"
- name: "Install Release Tools"
run: "npm install --save-dev semantic-release@23.1.1 @commitlint/cli@19.5.0 @commitlint/config-conventional@19.5.0 @semantic-release/git@10.0.1 @semantic-release/exec@6.0.3 @saithodev/semantic-release-backmerge@4.0.1 vercel@37.4.2"
- 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 }}