Skip to content

feat: Support custom transport command #28

feat: Support custom transport command

feat: Support custom transport command #28

Workflow file for this run

name: ci-release
on:
push:
branches:
- master
- 'release-*'
jobs:
release-please:
runs-on: ubuntu-latest
outputs:
releases_created: ${{ steps.release-please.outputs.releases_created }}
tag_name: ${{ steps.release-please.outputs.tag_name }}
permissions:
issues: write
contents: write
pull-requests: write
steps:
- id: release-please
name: Release please
uses: googleapis/release-please-action@v4
with:
release-type: go
target-branch: ${{ github.ref_name }}
goreleaser:
needs: release-please
if: needs.release-please.outputs.releases_created == 'true'
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ needs.release-please.outputs.tag_name }}
- name: Install syft
uses: anchore/sbom-action/download-syft@v0
- name: Setup Cosign CLI
uses: sigstore/cosign-installer@v3
- name: Install goreleaser
run: |
echo 'deb [trusted=yes] https://repo.goreleaser.com/apt/ /' | sudo tee /etc/apt/sources.list.d/goreleaser.list
sudo apt update
sudo apt install -y goreleaser libx11-dev
goreleaser --version
- id: semantic-release
name: Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: goreleaser release --release-notes CHANGELOG.md --clean
postrelease-test-ubuntu:
needs: goreleaser
runs-on: ubuntu-latest
env:
TAG: ${{ needs.release-please.outputs.tag_name }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
- name: Install deps
run: |
sudo apt install -y libx11-dev
- name: Install GitHub CLI
run: sudo apt install -y gh
- name: Download Linux release archive
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mkdir release
gh release download "$TAG" \
--repo ${{ github.repository }} \
--pattern "${{ github.event.repository.name }}_*_linux_amd64.tar.gz" \
--dir release
- name: Extract archive
run: |
mkdir extracted
tar -xzf release/*.tar.gz -C extracted
- name: Run end-to-end tests
run: |
echo "--- Listing all"
ls
echo "--- Listing extracted"
ls ./extracted
echo "--- Running version"
./extracted/${{ github.event.repository.name }} --version
echo "--- Running e2e tests"
NERDLOG_E2E_TEST_NERDLOG_BINARY="${PWD}/extracted/${{ github.event.repository.name }}" make test ARGS='-run TestE2EScenarios'
postrelease-test-macos:
needs: goreleaser
runs-on: macos-latest
env:
TAG: ${{ needs.release-please.outputs.tag_name }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
- name: Install deps
run: |
brew update
brew install gawk tmux
- name: Install GitHub CLI
run: |
brew install gh
- name: Download MacOS release archive
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mkdir release
gh release download "$TAG" \
--repo ${{ github.repository }} \
--pattern "${{ github.event.repository.name }}_*_darwin_amd64.tar.gz" \
--dir release
- name: Extract archive
run: |
mkdir extracted
tar -xzf release/*.tar.gz -C extracted
- name: Run end-to-end tests
run: |
echo "--- Listing all"
ls
echo "--- Listing extracted"
ls ./extracted
echo "--- Running version"
./extracted/${{ github.event.repository.name }} --version
echo "--- Running e2e tests"
NERDLOG_E2E_TEST_NERDLOG_BINARY="${PWD}/extracted/${{ github.event.repository.name }}" make test ARGS='-run TestE2EScenarios'
postrelease-test-freebsd:
needs: goreleaser
runs-on: ubuntu-latest
env:
TAG: ${{ needs.release-please.outputs.tag_name }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run e2e tests in FreeBSD VM
uses: vmactions/freebsd-vm@v1
with:
usesh: true
prepare: |
pkg install -y go git bash gawk tmux
pkg install -y gh
run: |
set -e
# Workaround for git safety checks
git config --global --add safe.directory "${PWD}"
echo "--- Creating release dir"
mkdir release
echo "--- Downloading release archive"
export GH_TOKEN="${{ secrets.GITHUB_TOKEN }}"
gh release download "$TAG" \
--repo ${{ github.repository }} \
--pattern "${{ github.event.repository.name }}_*_freebsd_amd64.tar.gz" \
--dir release
echo "--- Extracting archive"
mkdir extracted
tar -xzf release/*.tar.gz -C extracted
echo "--- Listing all"
ls
echo "--- Listing extracted"
ls ./extracted
echo "--- Running version"
./extracted/${{ github.event.repository.name }} --version
echo "--- Running e2e tests"
NERDLOG_E2E_TEST_NERDLOG_BINARY="${PWD}/extracted/${{ github.event.repository.name }}" make test ARGS='-run TestE2EScenarios'