Move CI to GitHub Actions #13
Workflow file for this run
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: httpd | |
on: | |
push: | |
branches: [ 'main' ] | |
paths: ['.github/workflows/httpd.yml', 'httpd/**'] | |
pull_request: | |
branches: [ 'main' ] | |
paths: ['.github/workflows/httpd.yml', 'httpd/**'] | |
workflow_call: | |
inputs: | |
build_main: | |
description: "Build using liboqs and oqsprovider main branches" | |
required: false | |
default: false | |
type: boolean | |
workflow_dispatch: | |
inputs: | |
build_main: | |
description: "Build using liboqs and oqsprovider main branches" | |
required: false | |
default: false | |
type: boolean | |
env: | |
build-args: | | |
LIBOQS_TAG=main | |
OQSPROVIDER_TAG=main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- linux/amd64 | |
- linux/arm64 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: docker/setup-qemu-action@v3 | |
- uses: docker/setup-buildx-action@v3 | |
- uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build the httpd Docker image | |
uses: docker/build-push-action@v6 | |
with: | |
load: true | |
context: httpd | |
platforms: ${{ matrix.platform }} | |
build-args: | | |
MAKE_DEFINES=-j4 | |
${{ (github.event.inputs.build_main == 'true') && env.build-args || null }} | |
tags: oqs-httpd | |
- name: Build the curl Docker image | |
uses: docker/build-push-action@v6 | |
with: | |
load: true | |
context: curl | |
platforms: ${{ matrix.platform }} | |
build-args: | | |
MAKE_DEFINES=-j4 | |
${{ (github.event.inputs.build_main == 'true') && env.build-args || null }} | |
tags: oqs-curl | |
- name: Test httpd using curl | |
run: | | |
docker network create httpd-test && | |
docker run --network httpd-test --detach --rm --name oqs-httpd oqs-httpd && | |
sleep 2 && | |
docker run --network httpd-test oqs-curl curl -k https://oqs-httpd:4433 --curves kyber768 |