mihomo/.github/workflows/prerelease.yml

71 lines
1.9 KiB
YAML
Raw Normal View History

2022-05-02 01:14:30 +08:00
name: Prerelease
2022-05-02 00:59:41 +08:00
on:
push:
branches:
2022-05-02 01:14:30 +08:00
- Alpha
2022-05-02 00:59:41 +08:00
- Beta
pull_request:
branches:
2022-05-02 01:14:30 +08:00
- Alpha
2022-05-02 00:59:41 +08:00
- Beta
jobs:
Build:
runs-on: ubuntu-latest
steps:
- name: Get latest go version
id: version
run: |
echo ::set-output name=go_version::$(curl -s https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json | grep -oE '"version": "[0-9]{1}.[0-9]{1,}(.[0-9]{1,})?"' | head -1 | cut -d':' -f2 | sed 's/ //g; s/"//g')
- name: Setup Go
uses: actions/setup-go@v2
with:
go-version: ${{ steps.version.outputs.go_version }}
- name: Check out code into the Go module directory
uses: actions/checkout@v3
- name: Cache go module
uses: actions/cache@v2
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
2022-05-02 01:14:30 +08:00
2022-05-02 00:59:41 +08:00
- name: Test
2022-05-02 08:27:17 +08:00
if: ${{github.ref_name=='Beta'}}
2022-05-02 00:59:41 +08:00
run: |
go test ./...
2022-05-02 01:14:30 +08:00
2022-05-02 00:59:41 +08:00
- name: Build
if: success()
env:
NAME: Clash.Meta
BINDIR: bin
run: make -j releases
- name: Delete current release assets
uses: andreaswilli/delete-release-assets-action@v2.0.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
2022-05-02 08:27:17 +08:00
tag: Prerelease-${{ github.ref_name }}
2022-05-02 00:59:41 +08:00
deleteOnlyFromDrafts: false
- name: Tag Repo
uses: richardsimko/update-tag@v1
with:
2022-05-02 08:27:17 +08:00
tag_name: Prerelease-${{ github.ref_name }}
2022-05-02 00:59:41 +08:00
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Alpha
uses: softprops/action-gh-release@v1
if: ${{ success() }}
with:
2022-05-02 08:27:17 +08:00
tag: ${{ github.ref_name }}
tag_name: Prerelease-${{ github.ref_name }}
2022-05-02 00:59:41 +08:00
files: bin/*
prerelease: true
generate_release_notes: true