hint homebrew formula update #2629
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 Build | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
paths-ignore: | |
- 'docs/**' | |
- 'website/**' | |
# cancel older, redundant builds that haven't started yet | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
ubuntu-build: | |
name: Build Linux AMD64 CLI | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup-go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: ./go.mod | |
- name: setup-node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: install ui node modules | |
shell: bash | |
run: npm install | |
working-directory: ui | |
- name: build ui | |
shell: bash | |
run: npm run build | |
working-directory: ui | |
env: | |
CI: "true" | |
- name: install agent ui node modules | |
shell: bash | |
run: npm install | |
working-directory: agent/agentUi | |
- name: build agent ui | |
shell: bash | |
run: npm run build | |
working-directory: agent/agentUi | |
- name: go install | |
shell: bash | |
run: go install -ldflags "-X github.com/openziti/zrok/build.Version=${{ github.ref }} -X github.com/openziti/zrok/build.Hash=${{ github.sha }}" ./... | |
- name: go test | |
shell: bash | |
run: go test -v ./... | |
- name: solve GOBIN | |
id: solve_go_bin | |
shell: bash | |
run: | | |
echo DEBUG: go_path="$(go env GOPATH)" | |
echo go_bin="$(go env GOPATH)/bin" >> $GITHUB_OUTPUT | |
- name: upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux-amd64 | |
path: ${{ steps.solve_go_bin.outputs.go_bin }}/zrok | |
if-no-files-found: error | |
pytest: | |
name: Test the Python SDK | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
python-version: ["3.10", "3.11", "3.12", "3.13"] | |
defaults: | |
run: | |
working-directory: sdk/python | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
shell: bash | |
run: | | |
set -o pipefail | |
set -o xtrace | |
python -m pip install --upgrade pip | |
pip install -r src/requirements.txt | |
pip install -r src/test-requirements.txt | |
pip install -r src/build-requirements.txt | |
pip install -e src/ | |
- name: Test with pytest | |
shell: bash | |
run: | | |
set -o pipefail | |
set -o xtrace | |
pytest --cov=zrok_api --verbose src/ | |
- name: Lint the Python SDK | |
shell: bash | |
run: | | |
set -o pipefail | |
set -o xtrace | |
flake8 . | |
# build a release candidate container image for branches named "main" or like "v*" | |
rc-container-build: | |
needs: ubuntu-build | |
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/v') | |
name: Build Release Candidate Container Image | |
runs-on: ubuntu-24.04 | |
steps: | |
- name: Set a container image tag from the branch name | |
id: slug | |
shell: bash | |
run: | | |
echo branch_tag=$(sed 's/[^a-z0-9_-]/__/gi' <<< "${GITHUB_REF#refs/heads/}") >> $GITHUB_OUTPUT | |
- name: Checkout Workspace | |
uses: actions/checkout@v4 | |
- name: Download Branch Build Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: linux-amd64 | |
path: ./dist/amd64/linux/ | |
- name: Set Up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: amd64,arm64 | |
- name: Set Up Docker BuildKit | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ vars.DOCKER_HUB_API_USER || secrets.DOCKER_HUB_API_USER }} | |
password: ${{ secrets.DOCKER_HUB_API_TOKEN }} | |
- name: Set Up Container Image Tags for zrok CLI Container | |
env: | |
ZROK_CONTAINER_IMAGE_REPO: ${{ vars.ZROK_CONTAINER_IMAGE_REPO || 'openziti/zrok' }} | |
ZROK_CONTAINER_IMAGE_TAG: ${{ steps.slug.outputs.branch_tag }} | |
id: tagprep_cli | |
shell: bash | |
run: | | |
echo DOCKER_TAGS="${ZROK_CONTAINER_IMAGE_REPO}:${ZROK_CONTAINER_IMAGE_TAG}" \ | |
| tee -a $GITHUB_OUTPUT | |
- name: Build & Push Linux AMD64 CLI Container Image to Hub | |
uses: docker/build-push-action@v3 | |
with: | |
builder: ${{ steps.buildx.outputs.name }} | |
context: ${{ github.workspace }}/ | |
file: ${{ github.workspace }}/docker/images/zrok/Dockerfile | |
platforms: linux/amd64 | |
tags: ${{ steps.tagprep_cli.outputs.DOCKER_TAGS }} | |
build-args: | | |
DOCKER_BUILD_DIR=./docker/images/zrok | |
ARTIFACTS_DIR=./dist | |
push: true |