fix source of deadlock #60
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: Integration Test | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
integration: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
test: | |
[TestCTIntegration, TestCTHammer, TestCTFsIntegration, TestCTFsHammer] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- name: Run integration test | |
working-directory: integration | |
run: go test -timeout 1h -run ^${{ matrix.test }}$ -args -long | |
build: | |
needs: integration | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- name: Build | |
run: | | |
mkdir bin && cd bin | |
GOOS=linux GOARCH=arm64 go build -o itko-monitor-linux-arm64 ../cmd/itko-monitor | |
GOOS=linux GOARCH=amd64 go build -o itko-monitor-linux-amd64 ../cmd/itko-monitor | |
GOOS=linux GOARCH=arm64 go build -o itko-submit-linux-arm64 ../cmd/itko-submit | |
GOOS=linux GOARCH=amd64 go build -o itko-submit-linux-amd64 ../cmd/itko-submit | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "bin" | |
path: "bin/" | |
- name: Push to builds branch | |
run: | | |
# Capture the short SHA hash of the current commit | |
SHORT_SHA=$(git rev-parse --short HEAD) | |
# Set Git user name and email for the commits made by this workflow | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "[email protected]" | |
# Create a new orphan branch named 'builds' with no prior history | |
git checkout --orphan builds | |
# Remove all existing files in the working directory | |
git rm -rf . | |
# Reset to a clean state with no files in the working directory | |
git reset --hard | |
# Add the contents of the 'bin' directory to the staging area | |
git add bin/ | |
# Commit the build with a message including the short SHA hash | |
git commit -m "Build binaries - SHA: $SHORT_SHA" | |
# Force push the 'builds' branch to the remote repository | |
git push origin +builds |