Skip to content

Commit 444874d

Browse files
ci: add check-build job to require make build to pass on prs (#19460)
We've had `build` fail on main one or two times, and it's easily preventable by just running `make build` on PRs. I didn't add `build` to required as it's already pretty complex, and we'd be making it more complex by skipping half of it when not on coder/coder main.
1 parent 229d051 commit 444874d

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

.github/workflows/ci.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -916,6 +916,7 @@ jobs:
916916
- test-e2e
917917
- offlinedocs
918918
- sqlc-vet
919+
- check-build
919920
# Allow this job to run even if the needed jobs fail, are skipped or
920921
# cancelled.
921922
if: always()
@@ -936,6 +937,7 @@ jobs:
936937
echo "- test-js: ${{ needs.test-js.result }}"
937938
echo "- test-e2e: ${{ needs.test-e2e.result }}"
938939
echo "- offlinedocs: ${{ needs.offlinedocs.result }}"
940+
echo "- check-build: ${{ needs.check-build.result }}"
939941
echo
940942
941943
# We allow skipped jobs to pass, but not failed or cancelled jobs.
@@ -1026,6 +1028,46 @@ jobs:
10261028
if: ${{ github.repository_owner == 'coder' && github.ref == 'refs/heads/main' }}
10271029
run: rm -f /tmp/{apple_cert.p12,apple_cert_password.txt,apple_apikey.p8}
10281030

1031+
check-build:
1032+
# This job runs make build to verify compilation on PRs.
1033+
# The build doesn't get signed, and is not suitable for usage, unlike the
1034+
# `build` job that runs on main.
1035+
needs: changes
1036+
if: needs.changes.outputs.go == 'true' && github.ref != 'refs/heads/main'
1037+
runs-on: ${{ github.repository_owner == 'coder' && 'depot-ubuntu-22.04-8' || 'ubuntu-latest' }}
1038+
steps:
1039+
- name: Harden Runner
1040+
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
1041+
with:
1042+
egress-policy: audit
1043+
1044+
- name: Checkout
1045+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
1046+
with:
1047+
fetch-depth: 0
1048+
1049+
- name: Setup Node
1050+
uses: ./.github/actions/setup-node
1051+
1052+
- name: Setup Go
1053+
uses: ./.github/actions/setup-go
1054+
1055+
- name: Install go-winres
1056+
run: go install github.com/tc-hib/go-winres@d743268d7ea168077ddd443c4240562d4f5e8c3e # v0.3.3
1057+
1058+
- name: Install nfpm
1059+
run: go install github.com/goreleaser/nfpm/v2/cmd/nfpm@v2.35.1
1060+
1061+
- name: Install zstd
1062+
run: sudo apt-get install -y zstd
1063+
1064+
- name: Build
1065+
run: |
1066+
set -euxo pipefail
1067+
go mod download
1068+
make gen/mark-fresh
1069+
make build
1070+
10291071
build:
10301072
# This builds and publishes ghcr.io/coder/coder-preview:main for each commit
10311073
# to main branch.

0 commit comments

Comments
 (0)