80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
on: [push]
|
|
|
|
env:
|
|
SELENIUM_REMOTE_URL: http://chrome:4444/wd/hub
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: docker
|
|
name: Run tests
|
|
container: code.hohl.cloud/jwa11y/a11yist:ci
|
|
services:
|
|
chrome:
|
|
image: selenium/standalone-chrome
|
|
steps:
|
|
- name: Cache repository
|
|
uses: actions/cache@v4
|
|
id: cache-repository
|
|
with:
|
|
path: .
|
|
key: ${{ runner.os }}-repository-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-repository-
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: .
|
|
submodules: recursive
|
|
- run: bundle config without development
|
|
- run: bundle install
|
|
- run: mv /app/node_modules .
|
|
- run: bundle exec rails test
|
|
|
|
system-test:
|
|
runs-on: docker
|
|
name: Run system tests
|
|
container: code.hohl.cloud/jwa11y/a11yist:ci
|
|
services:
|
|
chrome:
|
|
image: selenium/standalone-chrome
|
|
steps:
|
|
- name: Cache repository
|
|
uses: actions/cache@v4
|
|
id: cache-repository
|
|
with:
|
|
path: .
|
|
key: ${{ runner.os }}-repository-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-repository-
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: .
|
|
submodules: recursive
|
|
- run: bundle config without development
|
|
- run: bundle install
|
|
- run: mv /app/node_modules .
|
|
- run: bundle exec rails test:system
|
|
|
|
continous-delivery:
|
|
needs: test
|
|
runs-on: sh
|
|
name: Build, push and deploy image
|
|
steps:
|
|
- name: Cache repository
|
|
uses: actions/cache@v4
|
|
id: cache-repository
|
|
with:
|
|
path: repository
|
|
key: ${{ runner.os }}-repository-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-repository
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: repository
|
|
submodules: recursive
|
|
- run: docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} code.hohl.cloud
|
|
- run: docker build -t code.hohl.cloud/jwa11y/a11yist:latest --target production repository/
|
|
- run: docker compose -f /services/a11yist/docker-compose.yml up -d
|
|
- run: docker push code.hohl.cloud/jwa11y/a11yist:latest
|