Skip to content

ci: bump various action versions #14

ci: bump various action versions

ci: bump various action versions #14

Workflow file for this run

name: Release zencode tools
on:
push:
branches:
- master
jobs:
semantic-release:
name: 🤖 Semantic release
runs-on: ubuntu-latest
if: ${{ github.ref_name == 'master' && github.event_name == 'push' }}
outputs:
release: ${{ steps.tag_release.outputs.release }}
version: ${{ steps.tag_release.outputs.version }}
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
- run: yarn
- name: Tag release
id: tag_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npx semantic-release | tee semantic-release.log
if [[ `git tag --points-at HEAD` == "" ]]; then
echo "release=False" >> $GITHUB_OUTPUT
else
echo "release=True" >> $GITHUB_OUTPUT
awk '/Published release/ { printf("version=v%s\n",$8) }' semantic-release.log >> $GITHUB_OUTPUT
fi
build-release-on-ubuntu:
name: 🐧 Binary builds on Ubuntu
runs-on: ubuntu-latest
needs: [semantic-release]
if: ${{ needs.semantic-release.outputs.release == 'True' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/setup-go@v5
- name: Upload release docs artifacts
uses: actions/upload-artifact@v4
with:
name: documentation
path: |
release-intro.md
- name: Install build deps
run: |
sudo apt install make
- name: Build
run: make
- name: Upload artifact linux-amd64
uses: actions/upload-artifact@v4
with:
name: release-bin-linux-amd64
path: |
zenexplorer
zendebug
restroom-test
draft-binary-release:
name: 📦 Pack release
needs: [semantic-release, build-release-on-ubuntu]
runs-on: ubuntu-latest
steps:
- name: download binary artifacts
uses: actions/download-artifact@v4
with:
path: |
zenroom-bin
- name: relase all binary artifacts
uses: softprops/action-gh-release@v1
with:
files: |
zenroom-bin/release*/*
tag_name: ${{ needs.semantic-release.outputs.version }}
body_path: zenroom-bin/documentation/release-intro.md
append_body: true
draft: false
prerelease: false
fail_on_unmatched_files: true
generate_release_notes: true