diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 00000000..8782266b --- /dev/null +++ b/.github/workflows/integration.yml @@ -0,0 +1,69 @@ +name: Integration Test BootGuard + +on: + push: + tags: + - v* + branches: + - main + - feat/addBtGTests + pull_request: + +jobs: + build: + strategy: + matrix: + go-arch: [amd64, arm64] + runs-on: ubuntu-latest + env: + CGO_ENABLED: 0 + GOARCH: ${{ matrix.go-arch }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build txt-suite + run: go build -ldflags '-X main.gitcommit=${GITHUB_SHA} -X main.gittag=${github.ref_name} -w -extldflags "-static"' -o txt-suite cmd/txt-suite/*.go + - name: Build txt-prov + run: go build -ldflags '-X main.gitcommit=${GITHUB_SHA} -X main.gittag=${github.ref_name} -w -extldflags "-static"' -o txt-prov cmd/txt-prov/*.go + - name: Build bg-suite + run: go build -ldflags '-X main.gitcommit=${GITHUB_SHA} -X main.gittag=${github.ref_name} -w -extldflags "-static"' -o bg-suite cmd/bg-suite/*.go + - name: Build bg-prov + run: go build -ldflags '-X main.gitcommit=${GITHUB_SHA} -X main.gittag=${github.ref_name} -w -extldflags "-static"' -o bg-prov cmd/bg-prov/*.go + - name: Build pcr0tool + run: go build -ldflags '-X main.gitcommit=${GITHUB_SHA} -X main.gittag=${github.ref_name} -w -extldflags "-static"' -o pcr0tool cmd/pcr0tool/*.go + - name: Build amd-suite + run: go build -ldflags '-X main.gitcommit=${GITHUB_SHA} -X main.gittag=${github.ref_name} -w -extldflags "-static"' -o amd-suite cmd/amd-suite/*.go + - name: Save artifacts + uses: actions/upload-artifact@v4 + with: + name: artifacts-${{ matrix.go-arch }} + path: | + ./txt-suite + ./txt-prov + ./bg-suite + ./bg-prov + ./pcr0tool + ./amd-suite + + test: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download file + run: | + wget https://download.lenovo.com/pccbbs/mobiles/n2yur17w.iso ./n2yur17w.iso + + - name: Mount Image + id: mount-image + uses: damianperera/mount-image-action@v1 + with: + imagePath: ./n2yur17w.iso + mountPoint: /mnt/firmwareImage + + - name: Check Image + run: | + ls -l /mnt/firmwareImage