Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update test CI #856

Merged
merged 1 commit into from
Feb 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
173 changes: 36 additions & 137 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,63 +2,56 @@ name: Test
on:
push:
branches:
- main
- main
pull_request:
branches:
- main
- main

jobs:
test_classic_flavour:
name: Test classic flavour
runs-on: ubuntu-latest
container: hexpm/elixir:1.16.1-erlang-26.2.2-alpine-3.19.1
test:
runs-on: ubuntu-22.04
name: Flavour ${{matrix.flavour}} / OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}}
strategy:
matrix:
flavour: ['classic', 'cooperation']
otp: ['26.2']
elixir: ['1.16']
env:
FLAVOUR: classic
FLAVOUR: ${{matrix.flavour}}
MIX_ENV: test
WITH_DOCKER: no
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: postgres
WITH_DOCKER: partial
CI: true
TEST_LOG_TRUNCATE: 340
TEST_LOG_LEVEL: error
SECRET_KEY_BASE: "kSNSvYkWk14onNdbYzhEqFyG5TzpOO9+FFlk5sIrhTk0RV6+FeL/nM8DWQffDah4woepgQdrP6J8cjWGyehcWcRWvIIWXsghp0yY9/fEjgfUekD15P9LGRCmu6exIQ6g"
SIGNING_SALT: "NPkqpeTx/q9xGQRWwRpqBWI7bCxeHMAF4L2PHntfjVtd8GZD2BQKe9KLnkIR5WbLVdZt24FWuR+Hy5WoXaZM4APydGvC2+w2enJmskOckX5VY1Bpvm7JGKu+QymgIgK/"
ENCRYPTION_SALT: "l+QT/gkdX722f57qSAUc+bZcqm5ZduXY4D0hp0glEiKdR267JsZ1/CZlrlhADcD8kzuaZGFWvJ2dlr6sujbzGQV5e04lKVIsZh3gfd8eqQBckIqH6L8TDRRz4M07YE+F"
services:
postgres:
image: postgis/postgis:12-3.3-alpine
env:
POSTGRES_DB: bonfire_test
POSTGRES_PASSWORD: postgres
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
-
name: Cancel Previous Runs
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.9.0
with:
access_token: ${{ github.token }}
-
name: Install bash (needed for just), git (needed for checkout), tar (needed for cache), file (needed for bonfire_files), make/build-base/sqlite (for arch), and just
run: apk add bash git tar file make build-base sqlite just
-
name: Checkout repo
uses: actions/checkout@v2
- name: Add system repositories
run: |
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
- name: Install system deps
run: sudo apt install git tar file make build-essential sqlite docker-compose-plugin && sudo snap install --edge just --classic
- uses: actions/checkout@v4
- uses: erlef/setup-beam@v1
with:
fetch-depth: 2 # needed for action-detect-and-tag-new-version
# - name: Set up Elixir
# uses: actions/setup-elixir@v1
# with:
# elixir-version: ${{ matrix.elixir }}
# otp-version: ${{ matrix.otp }}
# TODO: does not handle git deps correctly?...
- name: Trust my repo
run: export GIT_CEILING_DIRECTORIES=/__w && git config --global --add safe.directory /__w/bonfire-app/bonfire-app # see https://github.com/actions/checkout/issues/760
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
- name: Restore dependencies cache
uses: actions/cache@v2
id: cache
Expand All @@ -68,107 +61,13 @@ jobs:
_build
key: ${{ runner.os }}-mix-${{ hashFiles('/mix.lock') }}
restore-keys: ${{ runner.os }}-mix-
- name: Install system deps
run: apk add mailcap ca-certificates openssl-dev tzdata gettext rust cargo sqlite
# - name: Install tools
# run: cargo install just && echo "/github/home/.cargo/bin" >> $GITHUB_PATH
- name: Install hex
run: mix local.hex --force
- name: Install rebar
run: mix local.rebar --force
# - name: Remove mix.lock
# run: rm mix.lock
- name: Prepare environment
run: just pre-setup && just init
- name: Install dependencies
run: mix deps.get
- name: Update Bonfire extensions to latest git versions (just use lockfile in future?)
run: mix bonfire.deps.update
- name: Fetch any differences in nested deps (+ run post-install setup)
run: just deps-get && just pre-init
# - name: Clean-build Bonfire data extensions
# run: mix bonfire.deps.clean.data
- name: Compile deps & app
run: mix compile
- name: Set up database
run: mix ecto.create && mix ecto.migrate
run: just config && just setup-dev
- name: Run tests
run: mix test
run: just test
- name: Check database down migrations
run: mix ecto.rollback --all

# test_cooperation_flavour:
# name: Test cooperation flavour
# runs-on: ubuntu-latest
# container: hexpm/elixir:1.15.0-erlang-26.0.1-alpine-3.18.2
# env:
# FLAVOUR: cooperation
# MIX_ENV: test
# WITH_DOCKER: no
# POSTGRES_HOST: postgres
# POSTGRES_PASSWORD: postgres
# CI: true
# SECRET_KEY_BASE: "kSNSvYkWk14onNdbYzhEqFyG5TzpOO9+FFlk5sIrhTk0RV6+FeL/nM8DWQffDah4woepgQdrP6J8cjWGyehcWcRWvIIWXsghp0yY9/fEjgfUekD15P9LGRCmu6exIQ6g"
# SIGNING_SALT: "NPkqpeTx/q9xGQRWwRpqBWI7bCxeHMAF4L2PHntfjVtd8GZD2BQKe9KLnkIR5WbLVdZt24FWuR+Hy5WoXaZM4APydGvC2+w2enJmskOckX5VY1Bpvm7JGKu+QymgIgK/"
# ENCRYPTION_SALT: "l+QT/gkdX722f57qSAUc+bZcqm5ZduXY4D0hp0glEiKdR267JsZ1/CZlrlhADcD8kzuaZGFWvJ2dlr6sujbzGQV5e04lKVIsZh3gfd8eqQBckIqH6L8TDRRz4M07YE+F"
# services:
# postgres:
# # image: postgres
# image: postgis/postgis:12-3.3-alpine
# env:
# POSTGRES_DB: bonfire_test
# POSTGRES_PASSWORD: postgres
# ports:
# - 5432:5432
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# steps:
# -
# name: Install git (needed for checkout), tar (needed for cache), file (needed for bonfire_files)
# run: apk add git tar file
# -
# name: Checkout repo
# uses: actions/checkout@v2
# with:
# fetch-depth: 2 # needed for action-detect-and-tag-new-version
# # - name: Set up Elixir
# # uses: actions/setup-elixir@v1
# # with:
# # elixir-version: ${{ matrix.elixir }}
# # otp-version: ${{ matrix.otp }}
# - name: Restore dependencies cache
# uses: actions/cache@v2
# id: cache
# with:
# path: |
# deps
# _build
# key: ${{ runner.os }}-mix-${{ hashFiles('/mix.lock') }}
# restore-keys: ${{ runner.os }}-mix-
# - name: Install system deps
# run: apk add mailcap ca-certificates openssl-dev tzdata gettext rust cargo make
# - name: Install hex
# run: mix local.hex --force
# - name: Install rebar
# run: mix local.rebar --force
# - name: Prepare environment
# run: make pre-run
# - name: Install dependencies
# run: mix deps.get
# - name: Update Bonfire extensions to latest git versions
# run: mix bonfire.deps.update
# - name: Fetch any differences in nested deps
# run: mix deps.get
# - name: Clean-build Bonfire data extensions
# run: mix bonfire.deps.clean.data
# - name: Compile deps & app
# run: mix compile
# - name: Set up database
# run: mix ecto.setup
# - name: Run tests
# run: mix test
# - name: Check database down migrations
# run: mix ecto.rollback --all
run: just db-rollback-all
Empty file modified js-deps-get.sh
100644 → 100755
Empty file.
Loading