From c0be3e9bbcf043978100a220c9609de0727e1f3c Mon Sep 17 00:00:00 2001 From: Leon Klute Date: Fri, 18 Oct 2024 13:18:09 +0200 Subject: [PATCH] add Dockerfile and github workflow --- .dockerignore | 6 ++++ .github/workflows/delivery.yml | 43 +++++++++++++++++++++++++++++ .github/workflows/status-checks.yml | 18 ++++++++++++ .gitlab-ci.yml | 18 ------------ Dockerfile | 13 +++++++++ 5 files changed, 80 insertions(+), 18 deletions(-) create mode 100644 .dockerignore create mode 100644 .github/workflows/delivery.yml create mode 100644 .github/workflows/status-checks.yml delete mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e88c5ff --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +.git/ +.github/ +Dockerfile +Credits.txt +README.md + diff --git a/.github/workflows/delivery.yml b/.github/workflows/delivery.yml new file mode 100644 index 0000000..530d194 --- /dev/null +++ b/.github/workflows/delivery.yml @@ -0,0 +1,43 @@ +name: Delivery + +on: + push: + branches: [ master ] + release: + # Note: a current limitation is that when a release is edited after publication, then the Docker tags are not automatically updated. + types: [ published ] + +permissions: + contents: write + packages: write + +jobs: + publish-docker-image: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + tags: | + type=semver,pattern={{major}}.{{minor}}.{{patch}} + type=raw,value=edge + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build container and push to GitHub Container Registry + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/status-checks.yml b/.github/workflows/status-checks.yml new file mode 100644 index 0000000..36fa873 --- /dev/null +++ b/.github/workflows/status-checks.yml @@ -0,0 +1,18 @@ +name: Status checks + +on: + push: + branches: [ master ] + pull_request: + # Make it possible to trigger the checks manually. + workflow_dispatch: + +jobs: + docker-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + # We only run the build stage to prevent that the IRMA schemes are downloaded. + - name: Run Dockerfile build stage + run: docker build -t privacybydesign/angrygames:build . + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 54c9f99..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,18 +0,0 @@ -image: privacybydesign/debian:latest - -stages: - - build - -before_script: - - set -euxo pipefail - -site: - stage: build - artifacts: - # Disabling artifact expiry is not supported yet, so make - expire_in: 100 year - paths: - - ./* - script: - - rm .gitlab-ci.yml - - rm -rf .git diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f67a8b5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM php:8.0-apache + +WORKDIR /var/www/html + +ADD . . + +EXPOSE 80 + +RUN chown -R www-data:www-data /var/www/html \ + && chmod -R 755 /var/www/html + +CMD ["apache2-foreground"] +