From 59d95dfd777e1f640af4005a804ce75a0d769898 Mon Sep 17 00:00:00 2001 From: Daniel O'Connor Date: Sun, 10 Aug 2025 03:22:32 +0000 Subject: [PATCH] Split up --- .github/workflows/ci-features-places.yml | 102 +++++++++++++++++++++++ .github/workflows/ci-features.yml | 3 - 2 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/ci-features-places.yml diff --git a/.github/workflows/ci-features-places.yml b/.github/workflows/ci-features-places.yml new file mode 100644 index 000000000..aa64a8bc6 --- /dev/null +++ b/.github/workflows/ci-features-places.yml @@ -0,0 +1,102 @@ +name: CI Features - Admin + +on: [pull_request] + +jobs: + rspec: + runs-on: ubuntu-latest + services: + db: + image: postgres + env: + ## + # The Postgres service fails its docker health check unless you + # specify these environment variables + # + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: growstuff_test + ports: ['5432:5432'] + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + env: + APP_DOMAIN_NAME: localhost:3000 + APP_PROTOCOL: http + CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} + DATABASE_URL: postgres://postgres:postgres@localhost:5432/growstuff_test + DEVISE_SECRET_KEY: secret + ELASTIC_SEARCH_VERSION: "7.5.1-amd64" + GROWSTUFF_EMAIL: "noreply@test.growstuff.org" + GROWSTUFF_FLICKR_KEY: secretkey" + GROWSTUFF_FLICKR_SECRET: secretsecret + GROWSTUFF_SITE_NAME: "Growstuff (travis)" + RAILS_ENV: test + RAILS_SECRET_TOKEN: supersecret + + steps: + - name: Checkout this repo + uses: actions/checkout@v4 + + - name: Configure sysctl limits + run: | + sudo swapoff -a + sudo sysctl -w vm.swappiness=1 + sudo sysctl -w fs.file-max=262144 + sudo sysctl -w vm.max_map_count=262144 + + - name: Start Elasticsearch + uses: elastic/elastic-github-actions/elasticsearch@master + with: + stack-version: 7.5.1 + + ## + # Cache Yarn modules + # + # See https://github.com/actions/cache/blob/master/examples.md#node---yarn for details + # + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + - name: Setup yarn cache + uses: actions/cache@v4 + id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: Install required OS packages + run: | + sudo apt-get -y install libpq-dev google-chrome-stable + + - name: Install NodeJS + uses: actions/setup-node@v4 + with: + node-version: '12' + + - name: Install Ruby (version given by .ruby-version) and Bundler + uses: ruby/setup-ruby@v1 + with: + bundler-cache: true + + - name: Install required JS packages + run: yarn install + + - name: install chrome + run: sudo apt-get install google-chrome-stable + + - name: Prepare database for testing + run: bundle exec rails db:prepare + + - name: precompile assets + run: bundle exec rails assets:precompile + + - name: index into elastic search + run: bundle exec rails search:reindex + + - name: Run rspec (places/) + run: bundle exec rspec spec/features/places/ -fd diff --git a/.github/workflows/ci-features.yml b/.github/workflows/ci-features.yml index fe628e2b9..6b94c7d60 100644 --- a/.github/workflows/ci-features.yml +++ b/.github/workflows/ci-features.yml @@ -107,8 +107,5 @@ jobs: - name: Run rspec (photos/) run: bundle exec rspec spec/features/photos/ -fd - - name: Run rspec (places/) - run: bundle exec rspec spec/features/places/ -fd - - name: Run rspec (rss/) run: bundle exec rspec spec/features/rss/ -fd \ No newline at end of file