added container persistence for dev container; plus readme tweaks #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
push: | |
branches: [ main ] | |
jobs: | |
prep_devcontainer: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and run Dev Container task | |
uses: devcontainers/[email protected] | |
with: | |
# Change this to point to your image name | |
imageName: ghcr.io/gresearch/astral-devcontainer | |
# Change this to be your CI task/script | |
runCmd: | | |
# Add multiple commands to run if needed | |
bundle install | |
scan_ruby: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run brakeman | |
uses: devcontainers/[email protected] | |
with: | |
imageName: ghcr.io/gresearch/astral-devcontainer | |
runCmd: bin/brakeman --no-pager | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: .ruby-version | |
bundler-cache: true | |
- name: Lint code for consistent style | |
run: bin/rubocop -f github | |
test: | |
runs-on: ubuntu-latest | |
# services: | |
# redis: | |
# image: redis | |
# ports: | |
# - 6379:6379 | |
# options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Run tests | |
uses: devcontainers/[email protected] | |
with: | |
imageName: ghcr.io/gresearch/astral-devcontainer | |
runCmd: bin/rails test | |
- name: Keep screenshots from failed system tests | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: screenshots | |
path: ${{ github.workspace }}/tmp/screenshots | |
if-no-files-found: ignore |