headscale/.github/workflows/build.yml
Kristoffer Dalby 46ccfff71d
pull_request_target
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2024-08-13 08:43:47 +02:00

62 lines
1.8 KiB
YAML

name: Build Docker images for PRs
on:
pull_request_target:
branches:
- main
concurrency:
group: ${{ github.workflow }}-$${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
permissions: write-all
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Get changed files
id: changed-files
uses: dorny/paths-filter@v3
with:
filters: |
files:
- '*.nix'
- 'go.*'
- '**/*.go'
- 'integration_test/'
- 'config-example.yaml'
- '.ko.yaml'
- uses: DeterminateSystems/nix-installer-action@main
if: steps.changed-files.outputs.files == 'true'
- uses: DeterminateSystems/magic-nix-cache-action@main
if: steps.changed-files.outputs.files == 'true'
# - uses: actions/github-script@v7
# id: get_pr_data
# with:
# script: |
# return (
# await github.rest.repos.listPullRequestsAssociatedWithCommit({
# commit_sha: context.sha,
# owner: context.repo.owner,
# repo: context.repo.repo,
# })
# ).data[0];
# - name: Pull Request data
# run: |
# echo '${{steps.get_pr_data.outputs.result}}'
- name: Run ko build
id: build
if: steps.changed-files.outputs.files == 'true'
env:
KO_DOCKER_REPO: ghcr.io/${{ github.repository_owner }}/headscale
# TAG_PR_NAME: pr-${{ fromJson(steps.get_pr_data.outputs.result).number }}
TAG_SHA: ${{ github.sha }}
run: |
nix develop --command -- ko build --sbom=none --tags=$TAG_SHA ./cmd/headscale