Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/workflows/brakeman.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
name: Brakeman

on:
pull_request:
push:
branches:
master
- main
- next-release/*

jobs:
brakeman:

runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v2

# Will run Brakeman checks on dependencies
# https://github.com/marketplace/actions/brakeman-action
- name: Brakeman
uses: artplan1/[email protected]
with:
flags: "--color"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Will run Brakeman checks on dependencies
# https://github.com/marketplace/actions/brakeman-action
- name: Brakeman
uses: artplan1/[email protected]
with:
flags: "--color"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
172 changes: 86 additions & 86 deletions .github/workflows/postgres.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Tests - PostgreSQL

on: [pull_request]
on: [push, pull_request]

jobs:
postgresql:
Expand All @@ -16,7 +16,7 @@ jobs:
# variable to bypass this changes:
# https://github.com/docker-library/postgres/issues/681
POSTGRES_HOST_AUTH_METHOD: trust
ports: ['5432:5432']
ports: ["5432:5432"]
options: >-
--health-cmd pg_isready
--health-interval 10s
Expand All @@ -30,87 +30,87 @@ jobs:
DISABLE_SPRING: 1

steps:
# Checkout the repo
- uses: actions/checkout@v3

# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true

## - run: echo 'NODE_OPTIONS="--openssl-legacy-provider"' >> $GITHUB_ENV
## /home/runner/runners/2.301.1/externals/node12/bin/node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

# Install Node
- uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'

# Install the Postgres developer packages
- name: 'Install Postgresql Packages'
run: |
sudo apt-get update
sudo apt-get install libpq-dev
# Install ImageMagick (for `identify` command)
- name: 'Install ImageMagick'
run: |
sudo apt-get install -y imagemagick

# Copy all of the example configs over
- name: 'Setup Default Configuration'
run: |
cp config/database.yml.sample config/database.yml
cp config/initializers/contact_us.rb.example config/initializers/contact_us.rb
cp config/initializers/wicked_pdf.rb.example config/initializers/wicked_pdf.rb
cp .env.postgresql .env

# Stub out the Rails credentials file so that we can start the Rails app
- name: 'Setup Credentials'
run: |
# generate a default credential file and key
EDITOR="sh -c 'echo \"$(cat config/credentials.yml.postgresql)\" > \$1' --" bundle exec rails credentials:edit

# Set the path to the wkhtmltopdf executable
- name: 'Determine wkhtmltopdf location'
run: echo "WICKED_PDF_PATH=`bundle exec which wkhtmltopdf`" >> $GITHUB_ENV

# Run yarn install for JS dependencies
- name: 'Yarn Install'
run: |
yarn install
# TEMPORARY WORKAROUND FOR THE FOLLOWING ISSUE: https://github.com/DMPRoadmap/roadmap/issues/3485
# Remove this once our tests are compatible with the new version of Chrome
# Source: https://github.com/teamcapybara/capybara/issues/2800#issuecomment-2731100953
- name: Remove image-bundled Chrome
run: sudo apt-get purge google-chrome-stable
- name: Setup stable Chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: 128
install-chromedriver: true
install-dependencies: true

# Initialize the DB
- name: 'Setup Test DB'
run: |
bundle exec rails db:setup
bundle exec rails db:migrate

# Prebuild the CSS, JS and image assets
- name: 'Compile Assets'
run: bundle exec rails assets:precompile

# Run the unit and functional tests
- name: 'Run Rspec Unit and Functional Tests'
run: |
bundle exec rspec spec/models/ spec/policies/ spec/services/ spec/helpers/
bundle exec rspec spec/controllers/ spec/presenters/ spec/requests/ spec/views
bundle exec rspec spec/mixins/

# Run the time consuming integration tests (using Chrome headless browser)
- name: 'Run Integration Tests'
run: bundle exec rspec spec/features/
# Checkout the repo
- uses: actions/checkout@v3

# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.0"
bundler-cache: true

## - run: echo 'NODE_OPTIONS="--openssl-legacy-provider"' >> $GITHUB_ENV
## /home/runner/runners/2.301.1/externals/node12/bin/node: --openssl-legacy-provider is not allowed in NODE_OPTIONS

# Install Node
- uses: actions/setup-node@v3
with:
node-version: 18
cache: "yarn"

# Install the Postgres developer packages
- name: "Install Postgresql Packages"
run: |
sudo apt-get update
sudo apt-get install libpq-dev

# Install ImageMagick (for `identify` command)
- name: "Install ImageMagick"
run: |
sudo apt-get install -y imagemagick

# Copy all of the example configs over
- name: "Setup Default Configuration"
run: |
cp config/database.yml.sample config/database.yml
cp config/initializers/contact_us.rb.example config/initializers/contact_us.rb
cp config/initializers/wicked_pdf.rb.example config/initializers/wicked_pdf.rb
cp .env.postgresql .env

# Stub out the Rails credentials file so that we can start the Rails app
- name: "Setup Credentials"
run: |
# generate a default credential file and key
EDITOR="sh -c 'echo \"$(cat config/credentials.yml.postgresql)\" > \$1' --" bundle exec rails credentials:edit

# Set the path to the wkhtmltopdf executable
- name: "Determine wkhtmltopdf location"
run: echo "WICKED_PDF_PATH=`bundle exec which wkhtmltopdf`" >> $GITHUB_ENV

# Run yarn install for JS dependencies
- name: "Yarn Install"
run: |
yarn install

# TEMPORARY WORKAROUND FOR THE FOLLOWING ISSUE: https://github.com/DMPRoadmap/roadmap/issues/3485
# Remove this once our tests are compatible with the new version of Chrome
# Source: https://github.com/teamcapybara/capybara/issues/2800#issuecomment-2731100953
- name: Remove image-bundled Chrome
run: sudo apt-get purge google-chrome-stable
- name: Setup stable Chrome
uses: browser-actions/setup-chrome@v1
with:
chrome-version: 128
install-chromedriver: true
install-dependencies: true

# Initialize the DB
- name: "Setup Test DB"
run: |
bundle exec rails db:setup
bundle exec rails db:migrate

# Prebuild the CSS, JS and image assets
- name: "Compile Assets"
run: bundle exec rails assets:precompile

# Run the unit and functional tests
- name: "Run Rspec Unit and Functional Tests"
run: |
bundle exec rspec spec/models/ spec/policies/ spec/services/ spec/helpers/
bundle exec rspec spec/controllers/ spec/presenters/ spec/requests/ spec/views
bundle exec rspec spec/mixins/

# Run the time consuming integration tests (using Chrome headless browser)
- name: "Run Integration Tests"
run: bundle exec rspec spec/features/
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
## DMP Roadmap

[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Brakeman/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Rubocop/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/ESLint/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20PostgreSQL/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20MySQL/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Brakeman/badge.svg?branch=main)](https://github.com/DMPRoadmap/roadmap/actions/workflows/brakeman.yml)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Rubocop/badge.svg?branch=main)](https://github.com/DMPRoadmap/roadmap/actions/workflows/rubocop.yml)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/ESLint/badge.svg?branch=main)](https://github.com/DMPRoadmap/roadmap/actions/workflows/eslint.yml)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20PostgreSQL/badge.svg?branch=main)](https://github.com/DMPRoadmap/roadmap/actions/workflows/postgres.yml)
[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Danger/badge.svg?branch=main)](https://github.com/DMPRoadmap/roadmap/actions/workflows/danger.yml)

<!-- [![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20MySQL/badge.svg?branch=main)](https://github.com/DMPRoadmap/roadmap/actions) -->

DMP Roadmap is a Data Management Planning tool. Management and development of DMP Roadmap is jointly provided by the Digital Curation Centre (DCC), http://www.dcc.ac.uk/, and the University of California Curation Center (UC3), http://www.cdlib.org/services/uc3/.

Expand Down
Loading