aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/container.yml
diff options
context:
space:
mode:
authorRuben ten Hove <git@rhtenhove.nl>2022-06-28 15:59:56 +0000
committerRuben ten Hove <git@rhtenhove.nl>2022-06-28 15:59:56 +0000
commit3e65e1a029c44b33a77ca04724335ee3ecd30e67 (patch)
tree76b76e4b93816a5eee50b859666939582dca1e1e /.github/workflows/container.yml
parentb3edb657c2221f7d292931c8df04388c552737dd (diff)
downloadafl++-3e65e1a029c44b33a77ca04724335ee3ecd30e67.tar.gz
fix test using test specific build
Diffstat (limited to '.github/workflows/container.yml')
-rw-r--r--.github/workflows/container.yml75
1 files changed, 75 insertions, 0 deletions
diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml
new file mode 100644
index 00000000..8836997d
--- /dev/null
+++ b/.github/workflows/container.yml
@@ -0,0 +1,75 @@
+name: Container
+on:
+ push:
+ branches:
+ - stable
+ - dev
+ tags:
+ - "*"
+ pull_request:
+ branches:
+ - dev # No need for stable-pull-request, as that equals dev-push
+
+jobs:
+ build-and-test-amd64:
+ name: Test amd64 image
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Build amd64
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ tags: aflplusplus:test-amd64
+ load: true
+ cache-to: type=gha,mode=max
+ build-args: |
+ TEST_BUILD=1
+ - name: Test amd64
+ run: >
+ docker run --rm aflplusplus:test-amd64 bash -c "
+ apt-get update &&
+ apt-get install -y libcmocka-dev &&
+ make -i tests
+ "
+
+ push:
+ name: Push amd64 and arm64 images
+ runs-on: ubuntu-latest
+ needs:
+ - build-and-test-amd64
+ if: ${{ github.event_name == 'push' && github.repository == 'AFLplusplus/AFLplusplus' }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2
+ with:
+ platforms: arm64
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2
+ - name: Login to docker.io
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_TOKEN }}
+ - name: Set tags to push
+ id: push-tags
+ run: |
+ PUSH_TAGS=docker.io/aflplusplus/aflplusplus:${GITHUB_REF_NAME}
+ if [ "${GITHUB_REF_NAME}" = "stable" ]; then
+ PUSH_TAGS=${PUSH_TAGS},docker.io/aflplusplus/aflplusplus:latest
+ fi
+ export PUSH_TAGS
+ echo "::set-output name=PUSH_TAGS::${PUSH_TAGS}"
+ - name: Push to docker.io registry
+ uses: docker/build-push-action@v3
+ with:
+ context: .
+ platforms: linux/amd64,linux/arm64
+ push: true
+ tags: ${{ steps.push-tags.outputs.PUSH_TAGS }}
+ cache-from: type=gha