- Created a new workflow file `publish.yml` to automate the publishing process on tag pushes and manual triggers. - Configured jobs for checking out the repository, setting up Node.js and Go environments, installing dependencies, building the project, and creating releases with package uploads to Gitea.
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
name: Publish
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
|
|
with:
|
|
go-version: '1.25.4'
|
|
|
|
- name: Install dependencies
|
|
run: bash scripts/publish_setup.sh
|
|
|
|
- name: Build and package
|
|
run: bash scripts/publish_build.sh
|
|
|
|
- name: Create release and upload packages
|
|
if: startsWith(gitea.ref, 'refs/tags/v')
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
|
REF_NAME: ${{ gitea.ref_name }}
|
|
REPO_OWNER: ${{ gitea.repository_owner }}
|
|
REPO_NAME: ${{ gitea.event.repository.name }}
|
|
SERVER_URL: ${{ gitea.server_url }}
|
|
run: bash scripts/publish.sh
|
|
|