Skip to content

Commit

Permalink
Production A/B Testing (#17)
Browse files Browse the repository at this point in the history
* - Implements a build hash string shown on the login page
- Also fixes the borrel mode logout bug whoeps
- Implemented AB testing

* Implements AB testing in the workflows

* Woops

* Potential fix to get the .git dir

* Fix was at the devvm

* actions/checkout#335

* Maybe upgrade git works.

* This works.

* This works.
  • Loading branch information
JustSamuel committed Jun 16, 2023
1 parent 03e5432 commit 79ef997
Show file tree
Hide file tree
Showing 8 changed files with 222 additions and 200 deletions.
1 change: 1 addition & 0 deletions .env.example
Expand Up @@ -2,3 +2,4 @@ VUE_APP_DEBUG_STORES=false
VUE_APP_DEVELOP=false
VUE_APP_API_BASE='https://sudosos.test.gewis.nl/api/v1/'
VUE_APP_IMAGE_BASE='https://sudosos.test.gewis.nl/static/'
VUE_APP_A_B='A'
74 changes: 72 additions & 2 deletions .github/workflows/docker.yml
Expand Up @@ -14,21 +14,27 @@ jobs:
container:
image: docker:dind
steps:
- name: upgrade git
run: |
apk add --update
apk add git
git --version
- name: Checkout repository
uses: actions/checkout@v3
with:
path: .

- name: Set up environment - main
env:
ENV_FILE: ${{ secrets.ENV_FILE_PRODUCTION }}
ENV_FILE: ${{ env.ENV_FILE_PRODUCTION }}
if: github.ref == 'refs/heads/main'
run: |
echo "${ENV_FILE}" > .env
- name: Set up environment - develop
env:
ENV_FILE: ${{ secrets.ENV_FILE_DEVELOPMENT }}
ENV_FILE: ${{ env.ENV_FILE_DEVELOPMENT }}
if: github.ref != 'refs/heads/main'
run: |
echo "${ENV_FILE}" > .env
Expand Down Expand Up @@ -72,3 +78,67 @@ jobs:
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

dockerize-ab-testing:
runs-on: [ self-hosted, linux, docker ]
container:
image: docker:dind
steps:
- name: upgrade git
run: |
apk add --update
apk add git
git --version
- name: Checkout repository
uses: actions/checkout@v3
with:
path: .

- name: Set up environment - A/B testing
env:
ENV_FILE: ${{ env.ENV_FILE_PRODUCTION }}
if: github.ref != 'refs/heads/main'
run: |
echo "${ENV_FILE}" > .env
echo "VUE_APP_A_B='B'" >> .env
- name: Get Docker meta (for tags)
id: meta
uses: docker/metadata-action@v4
with:
# list of Docker images to use as base name for tags
images: |
${{ vars.DOCKER_REGISTRY }}/${{ vars.DOCKER_TAG }}
# generate Docker tags based on the following events/attributes
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Login to SudoSOS Container Registry
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: ${{ vars.DOCKER_REGISTRY }}
username: ${{ secrets.SVC_GH_SUDOSOS_USERNAME }}
password: ${{ secrets.SVC_GH_SUDOSOS_PWD }}

# Build and push Docker image with Buildx (don't push on PR)
- name: Build and push
uses: docker/build-push-action@v3
with:
context: .
platforms: linux/amd64 #SudoSOS does not run on linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ab-develop
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

0 comments on commit 79ef997

Please sign in to comment.