release #23
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: Release | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
- fix-release-workflow | |
jobs: | |
release: | |
name: Release | |
runs-on: ubuntu-22.04 | |
steps: | |
################################################### | |
# | |
# Prepare | |
# | |
################################################### | |
- name: (PREPARE) Checkout Repository | |
uses: actions/checkout@v3 | |
with: | |
lfs: true | |
- name: (PREPARE) Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: yarn | |
- name: (PREPARE) Install Node Modules | |
run: yarn --frozen-lockfile | |
- name: (PREPARE) Setup SocketCAN | |
run: | | |
sudo apt-get install -y can-utils libnode-dev linux-modules-extra-$(uname -r) | |
sudo modprobe can | |
sudo modprobe can_raw | |
sudo modprobe vcan | |
################################################### | |
# | |
# Test | |
# | |
################################################### | |
- name: (TEST) Check Dependencies | |
run: yarn dependencies:check | |
- name: (TEST) Check ESLint | |
run: yarn lint:check | |
- name: (TEST) Check Prettier | |
run: yarn style:check | |
- name: (TEST) Run Tests | |
run: sudo timeout 1m sudo yarn test | |
- name: (TEST) Upload Tests to Codacy | |
uses: codacy/codacy-coverage-reporter-action@v1 | |
with: | |
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} | |
coverage-reports: coverage/lcov.info | |
################################################### | |
# | |
# Build | |
# | |
################################################### | |
- name: (BUILD) Transpile to Javascript | |
run: yarn build | |
- name: (BUILD) Build Binaries | |
run: yarn package | |
################################################### | |
# | |
# Release | |
# | |
################################################### | |
- name: (RELEASE) Delete Latest Release | |
run: gh release delete latest --cleanup-tag --yes || true | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: (RELEASE) Delete Latest Tag (Local) | |
run: git tag --delete latest || true | |
- name: (RELEASE) Create Latest Release | |
run: gh release create latest --target ${GITHUB_SHA} --latest -t "Latest Release" -n "This is the latest release of this project" ./dist/* | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |