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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy