2022-06-04 21:25:37 -04:00
|
|
|
name: FIPS Build Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- master
|
|
|
|
|
|
|
|
# This ensures that previous jobs for the PR are canceled when the PR is
|
|
|
|
# updated.
|
|
|
|
concurrency:
|
|
|
|
group: ${{ github.workflow }}-${{ github.head_ref }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
|
|
permissions:
|
|
|
|
contents: read
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
name: Go BoringCrypto ${{ matrix.go-version }} on ${{ matrix.os }}
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-12-30 14:37:07 -05:00
|
|
|
go-version: [1.19.x]
|
2022-06-04 21:25:37 -04:00
|
|
|
os: [ubuntu-latest]
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
|
|
|
- name: Set up Docker Buildx
|
|
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
|
|
|
|
- name: Setup dockerfile for build test
|
|
|
|
run: |
|
2022-12-30 14:37:07 -05:00
|
|
|
echo "FROM golang:1.19.4" >> Dockerfile.fips.test
|
2022-06-04 21:25:37 -04:00
|
|
|
echo "COPY . /minio" >> Dockerfile.fips.test
|
|
|
|
echo "WORKDIR /minio" >> Dockerfile.fips.test
|
2022-12-30 14:37:07 -05:00
|
|
|
echo "ENV GOEXPERIMENT=boringcrypto" >> Dockerfile.fips.test
|
2022-06-04 21:25:37 -04:00
|
|
|
echo "RUN make" >> Dockerfile.fips.test
|
|
|
|
|
|
|
|
- name: Build
|
|
|
|
uses: docker/build-push-action@v3
|
|
|
|
with:
|
|
|
|
context: .
|
|
|
|
file: Dockerfile.fips.test
|
|
|
|
push: false
|
|
|
|
load: true
|
|
|
|
tags: minio/fips-test:latest
|
|
|
|
|
|
|
|
# This should fail if grep returns non-zero exit
|
|
|
|
- name: Test binary
|
|
|
|
run: |
|
|
|
|
docker run --rm minio/fips-test:latest ./minio --version
|
|
|
|
docker run --rm -i minio/fips-test:latest /bin/bash -c 'go tool nm ./minio' | grep -q FIPS
|