Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
79 lines
2.4 KiB
YAML
79 lines
2.4 KiB
YAML
name: Release nightly
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 * * *" # every day at midnight
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check-latest-run:
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- uses: octokit/request-action@v2.x
|
|
id: check_last_run
|
|
with:
|
|
route: GET /repos/${{github.repository}}/actions/workflows/release-nightly.yml/runs?per_page=1&status=completed
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
outputs:
|
|
last_sha: ${{ fromJson(steps.check_last_run.outputs.data).workflow_runs[0].head_sha }}
|
|
|
|
release-nightly:
|
|
if: needs.check-latest-run.outputs.last_sha != github.sha
|
|
runs-on: ubuntu-latest
|
|
needs: [check-latest-run]
|
|
env:
|
|
working-directory: go/src/github.com/ignite/cli
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Delete the nightly release
|
|
uses: dev-drprasad/delete-tag-and-release@v1.1
|
|
with:
|
|
tag_name: nightly
|
|
delete_release: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Push new nightly tag
|
|
uses: mathieudutour/github-tag-action@v6.2
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
custom_tag: nightly
|
|
tag_prefix: ""
|
|
|
|
- name: Create the new nightly release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: nightly
|
|
name: nightly
|
|
body: "Install and move the CLI to your bin directory: `curl https://get.ignite.com/cli@nightly! | bash`"
|
|
prerelease: true
|
|
|
|
releases-binaries:
|
|
if: needs.check-latest-run.outputs.last_sha != github.sha
|
|
name: Release Go Binary
|
|
needs: [check-latest-run]
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
goos: [linux, darwin]
|
|
goarch: [amd64, arm64]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: wangyoucao577/go-release-action@v1.53
|
|
with:
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
project_path: "./ignite/cmd/ignite"
|
|
binary_name: "ignite"
|
|
asset_name: ignite-nightly-${{ matrix.goos }}-${{ matrix.goarch }}
|
|
release_name: "nightly"
|
|
goos: ${{ matrix.goos }}
|
|
goarch: ${{ matrix.goarch }}
|
|
ldflags: -s -w -X github.com/ignite/cli/v29/ignite/version.Version=nightly
|
|
retry: 10
|