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 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