diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..9008cb17 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,41 @@ +name: CI +on: [push, pull_request] +jobs: + test: + runs-on: ubuntu-18.04 + + services: + postgres: + image: postgres + env: + POSTGRES_DB: ci_test + POSTGRES_PASSWORD: citestpassword + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps tcp port 5432 on service container to the host + - 5432:5432 + redis: + image: redis + # Set health checks to wait until redis has started + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps port 6379 on service container to the host + - 6379:6379 + + steps: + - uses: actions/checkout@v2 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.6 + bundler-cache: true + - run: sudo apt-get -y install chromium-browser + - run: bundle exec rake diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ceca0466..00000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: ruby -rvm: - - "2.6.0" -services: - - redis-server - - postgresql -before_script: - - psql -c 'create database travis_ci_test;' -U postgres -sudo: false -bundler_args: --jobs=1 -before_install: gem install bundler diff --git a/README.md b/README.md index 4cfcefe0..b6cc2688 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Neocities.org -[![Build Status](https://travis-ci.org/neocities/neocities.png?branch=master)](https://travis-ci.org/neocities/neocities) +[![Build Status](https://github.com/neocities/neocities/actions/workflows/ci.yml/badge.svg)](https://github.com/neocities/neocities/actions?query=workflow%3ACI) [![Coverage Status](https://coveralls.io/repos/neocities/neocities/badge.svg?branch=master&service=github)](https://coveralls.io/github/neocities/neocities?branch=master) The web site for Neocities! It's open source. Want a feature on the site? Send a pull request! diff --git a/app_helpers.rb b/app_helpers.rb index c09f59f7..3ad82439 100644 --- a/app_helpers.rb +++ b/app_helpers.rb @@ -119,7 +119,7 @@ def flash_display(opts={}) end def hcaptcha_valid? - return true if ENV['RACK_ENV'] == 'test' || ENV['TRAVIS'] + return true if ENV['RACK_ENV'] == 'test' || ENV['CI'] return false unless params[:'h-captcha-response'] resp = Net::HTTP.get URI( diff --git a/config.yml.travis b/config.yml.ci similarity index 90% rename from config.yml.travis rename to config.yml.ci index a92bca0d..7425457d 100644 --- a/config.yml.travis +++ b/config.yml.ci @@ -1,4 +1,4 @@ -database: 'postgres://postgres@localhost/travis_ci_test' +database: 'postgres://postgres:citestpassword@localhost/ci_test' database_pool: 1 session_secret: 's3cr3t' email_unsubscribe_token: "somethingrandomderrrrp" diff --git a/environment.rb b/environment.rb index 54110bf3..7b1d9fb8 100644 --- a/environment.rb +++ b/environment.rb @@ -24,8 +24,8 @@ end Dir['./ext/**/*.rb'].each {|f| require f} # :nocov: -if ENV['TRAVIS'] - $config = YAML.load_file File.join(DIR_ROOT, 'config.yml.travis') +if ENV['CI'] + $config = YAML.load_file File.join(DIR_ROOT, 'config.yml.ci') else begin $config = YAML.load_file(File.join(DIR_ROOT, 'config.yml'))[ENV['RACK_ENV']] diff --git a/models/site.rb b/models/site.rb index 784c6f97..2b976796 100644 --- a/models/site.rb +++ b/models/site.rb @@ -720,8 +720,8 @@ class Site < Sequel::Model return false unless valid_file_mime_type_and_ext?(mime_type, extname) - # clamdscan doesn't work on travis for testing - return true if ENV['TRAVIS'] == 'true' + # clamdscan doesn't work on continuous integration for testing + return true if ENV['CI'] == 'true' File.chmod 0666, uploaded_file[:tempfile].path line = Terrapin::CommandLine.new( diff --git a/tests/workers/archive_worker_tests.rb b/tests/workers/archive_worker_tests.rb index ff79746a..989dc74a 100644 --- a/tests/workers/archive_worker_tests.rb +++ b/tests/workers/archive_worker_tests.rb @@ -2,7 +2,7 @@ require_relative '../environment.rb' describe ArchiveWorker do it 'stores an IPFS archive' do - return if ENV['TRAVIS'] + return if ENV['CI'] site = Fabricate :site ipfs_hash = site.add_to_ipfs ArchiveWorker.new.perform site.id