diff --git a/.github/workflows/product.yaml b/.github/workflows/product.yaml new file mode 100644 index 00000000..e19b69c8 --- /dev/null +++ b/.github/workflows/product.yaml @@ -0,0 +1,64 @@ +name: Build +on: + push: + branches: + - release + workflow_dispatch: + +jobs: + Build: + runs-on: self-hosted + 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- + - name: Test + run: | + go test ./... + + - name: Build + if: success() + env: + NAME: Clash.Meta + BINDIR: bin + run: make -j$(($(nproc) + 1)) linux-amd64v2 windows-amd64v2 darwin-arm64 linux-amd64v3 windows-amd64v3 linux-arm64 + + - name: Delete current release assets + uses: andreaswilli/delete-release-assets-action@v2.0.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + tag: test + deleteOnlyFromDrafts: false + + - name: Tag Repo + uses: richardsimko/update-tag@v1 + with: + tag_name: test + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Upload Alpha + uses: softprops/action-gh-release@v1 + if: ${{ success() }} + with: + tag: test + tag_name: test + files: bin/* + prerelease: true + generate_release_notes: true \ No newline at end of file