feat(share/availability/full): Introduce Q4 trimming for archival nodes #10027
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI and Release | |
on: | |
merge_group: | |
push: | |
branches: | |
- main | |
tags: | |
- '**' | |
release: | |
types: [published] | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
run-on-tag: | |
description: 'Tag for release' | |
required: true | |
jobs: | |
# set up go version for use through pipelines, setting | |
# variable one time and setting outputs to access passing it | |
# to other jobs | |
setup: | |
runs-on: ubuntu-latest | |
env: | |
# upgrade go version throughout pipeline here | |
GO_VERSION: "1.23" | |
outputs: | |
go-version: ${{ steps.set-vars.outputs.go-version }} | |
branch: ${{ steps.trim_ref.outputs.branch }} | |
debug: ${{ steps.debug.outputs.debug }} | |
steps: | |
- name: Set go version | |
id: set-vars | |
run: echo "go-version=${{env.GO_VERSION}}" >> "$GITHUB_OUTPUT" | |
- name: Trim branch name | |
id: trim_ref | |
run: | | |
echo "branch=$(${${{ github.ref }}:11})" >> $GITHUB_OUTPUT | |
- name: Set debug output | |
id: debug | |
run: | | |
if [[ "${{ runner.debug }}" == "true" ]]; then | |
echo "debug=true" >> $GITHUB_ENV | |
else | |
echo "debug=false" >> $GITHUB_ENV | |
fi | |
# Dockerfile Linting | |
hadolint: | |
uses: celestiaorg/.github/.github/workflows/reusable_dockerfile_lint.yml@v0.4.5 # yamllint disable-line rule:line-length | |
with: | |
dockerfile: Dockerfile | |
yamllint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: celestiaorg/.github/.github/actions/yamllint@v0.4.5 | |
markdown-lint: | |
name: Markdown Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- run: | | |
npm install -g markdownlint-cli@0.32.1 | |
markdownlint --config .markdownlint.yaml '**/*.md' | |
go-ci: | |
needs: setup | |
uses: ./.github/workflows/go-ci.yml | |
with: | |
go-version: ${{ needs.setup.outputs.go-version }} | |
# Generate the release with goreleaser to include pre-built binaries | |
goreleaser: | |
needs: [setup] | |
runs-on: ubuntu-latest | |
if: | | |
github.event_name == 'release' || | |
github.event_name == 'workflow_dispatch' | |
permissions: "write-all" | |
steps: | |
- uses: actions/checkout@v4 | |
- run: git fetch --force --tags | |
- name: Set LATEST_TAG for release | |
if: github.event_name == 'release' | |
run: echo "LATEST_TAG=${{ github.event.release.tag_name }}" >> $GITHUB_ENV | |
- name: Set LATEST_TAG for workflow_dispatch | |
if: github.event_name == 'workflow_dispatch' | |
run: echo "LATEST_TAG=${{ inputs.run-on-tag }}" >> $GITHUB_ENV | |
- name: Checkout a given tag | |
if: github.event_name == 'workflow_dispatch' | |
run: git checkout ${{ inputs.run-on-tag }} | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ needs.setup.outputs.go-version }} | |
- name: Import GPG key | |
id: import_gpg | |
uses: crazy-max/ghaction-import-gpg@v6 | |
with: | |
gpg_private_key: ${{ secrets.GPG_SIGNING_KEY }} | |
passphrase: ${{ secrets.GPG_PASSPHRASE }} | |
# Generate the binaries and release | |
- uses: goreleaser/goreleaser-action@v6 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release --clean | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} | |
GORELEASER_CURRENT_TAG: ${{ env.LATEST_TAG }} | |
upload-docs: | |
needs: [setup] | |
if: | | |
github.event_name == 'release' || | |
github.event_name == 'workflow_dispatch' | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: git fetch --force --tags | |
- name: Set LATEST_TAG for release | |
if: github.event_name == 'release' | |
run: echo "LATEST_TAG=${{ github.event.release.tag_name }}" >> $GITHUB_ENV | |
- name: Set LATEST_TAG for workflow_dispatch | |
if: github.event_name == 'workflow_dispatch' | |
run: echo "LATEST_TAG=${{ inputs.run-on-tag }}" >> $GITHUB_ENV | |
- name: Checkout a given tag | |
if: github.event_name == 'workflow_dispatch' | |
run: git checkout ${{ inputs.run-on-tag }} | |
- run: | | |
make openrpc-gen > openrpc.json | |
gh release upload "$LATEST_TAG" openrpc.json | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |