diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f2038f505..2b9df5a73 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,15 +1,65 @@ name: CI on: - workflow_dispatch: + workflow_dispatch: {} push: branches: - main + paths-ignore: + - "Jenkinsfile" + - ".git**" pull_request: jobs: - test: - name: Test Rails - uses: alphagov/govuk-infrastructure/.github/workflows/test-rails.yaml@main + security-analysis: + name: Security Analysis + uses: alphagov/govuk-infrastructure/.github/workflows/brakeman.yaml@main + + lint-scss: + name: Lint SCSS + uses: alphagov/govuk-infrastructure/.github/workflows/stylelint.yaml@main + with: + files: "app/assets/stylesheets/" + + lint-javascript: + name: Lint JavaScript + uses: alphagov/govuk-infrastructure/.github/workflows/standardx.yaml@main with: - requiresJavaScript: true + files: "'app/assets/javascripts/**/*.js' 'spec/javascripts/**/*.js'" + + lint-ruby: + name: Lint Ruby + uses: alphagov/govuk-infrastructure/.github/workflows/rubocop.yaml@main + + test-javascript: + name: Test JavaScript + uses: alphagov/govuk-infrastructure/.github/workflows/jasmine.yaml@main + with: + useWithRails: true + + test-ruby: + name: Test Ruby + runs-on: ubuntu-latest + steps: + - name: Setup Redis + uses: alphagov/govuk-infrastructure/.github/actions/setup-redis@main + + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + + - name: Setup Node + uses: alphagov/govuk-infrastructure/.github/actions/setup-node@main + + - name: Precompile assets + uses: alphagov/govuk-infrastructure/.github/actions/precompile-rails-assets@main + + - name: Run Minitest + env: + RAILS_ENV: test + run: bundle exec rake test +