diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index 054f30f08..000000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,15 +0,0 @@ -name: CI - -on: - workflow_dispatch: - push: - branches: - - main - pull_request: - -jobs: - test: - name: Test - uses: alphagov/govuk-infrastructure/.github/workflows/test-rails.yaml@main - with: - requiresJavaScript: true diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..a1387364a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,70 @@ +name: CI + +on: + workflow_dispatch: {} + push: + branches: + - main + paths-ignore: + - "Jenkinsfile" + - ".git**" + pull_request: + +jobs: + security-analysis: + name: Security Analysis + uses: alphagov/govuk-infrastructure/.github/workflows/brakeman.yml@main + + lint-scss: + name: Lint SCSS + uses: alphagov/govuk-infrastructure/.github/workflows/stylelint.yml@main + with: + files: "app/assets/stylesheets/" + + lint-javascript: + name: Lint JavaScript + uses: alphagov/govuk-infrastructure/.github/workflows/standardx.yml@main + with: + files: "'app/assets/javascripts/**/*.js' 'spec/javascripts/**/*.js'" + + lint-ruby: + name: Lint Ruby + uses: alphagov/govuk-infrastructure/.github/workflows/rubocop.yml@main + + test-javascript: + name: Test JavaScript + uses: alphagov/govuk-infrastructure/.github/workflows/jasmine.yml@main + with: + useWithRails: true + + test-ruby: + name: Test Ruby + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Checkout Publishing API (for Content Schemas) + uses: actions/checkout@v3 + with: + repository: alphagov/publishing-api + ref: deployed-to-production + path: vendor/publishing-api + + - 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 + GOVUK_CONTENT_SCHEMAS_PATH: vendor/publishing-api/content_schemas + run: bundle exec rake test +