fix: Update CI_CD rules on push #8
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "[CI] Test" | ||
on: "push" | ||
env: | ||
RUBY_VERSION: 3.0.2 | ||
SIMPLECOV: 1 | ||
CODECOV: 1 | ||
jobs: | ||
lint-report: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 1 | ||
- uses: actions/setup-node@master | ||
with: | ||
node-version: ${{ env.NODE_VERSION }} | ||
- run: npm ci | ||
name: Install JS deps | ||
- run: npm run lint | ||
name: Lint JS files | ||
- run: npm run stylelint | ||
name: Lint SCSS files | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ env.RUBY_VERSION }} | ||
bundler-cache: true | ||
- run: bundle exec rubocop -P | ||
name: Lint Ruby files | ||
- run: bundle exec erblint app/**/*.erb | ||
name: Lint ERB files | ||
test-report: | ||
runs-on: ubuntu-latest | ||
services: | ||
postgres: | ||
image: postgres:11 | ||
ports: ["5432:5432"] | ||
options: >- | ||
--health-cmd pg_isready | ||
--health-interval 10s | ||
--health-timeout 5s | ||
--health-retries 5 | ||
env: | ||
POSTGRES_PASSWORD: postgres | ||
env: | ||
DATABASE_USERNAME: postgres | ||
DATABASE_PASSWORD: postgres | ||
DATABASE_HOST: localhost | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 1 | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ env.RUBY_VERSION }} | ||
bundler-cache: true | ||
- name: Setup Database | ||
run: bundle exec rake test_app | ||
- name: Run RSpec | ||
run: bundle exec rspec --exclude-pattern "spec/system/**/*_spec.rb" | ||
- uses: codecov/codecov-action@v3 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
- uses: actions/upload-artifact@v2-preview | ||
if: always() | ||
with: | ||
name: screenshots | ||
path: ./spec/decidim_dummy_app/tmp/screenshots | ||
system-test-report: | ||
runs-on: ubuntu-latest | ||
services: | ||
postgres: | ||
image: postgres:11 | ||
ports: ["5432:5432"] | ||
options: >- | ||
--health-cmd pg_isready | ||
--health-interval 10s | ||
--health-timeout 5s | ||
--health-retries 5 | ||
env: | ||
POSTGRES_PASSWORD: postgres | ||
env: | ||
DATABASE_USERNAME: postgres | ||
DATABASE_PASSWORD: postgres | ||
DATABASE_HOST: localhost | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 1 | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
ruby-version: ${{ env.RUBY_VERSION }} | ||
bundler-cache: true | ||
- name: Setup Database | ||
run: bundle exec rake test_app | ||
- name: Run RSpec | ||
run: bundle exec rspec spec/system | ||
- uses: codecov/codecov-action@v3 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
- uses: actions/upload-artifact@v2-preview | ||
if: always() | ||
with: | ||
name: screenshots | ||
path: ./spec/decidim_dummy_app/tmp/screenshots | ||
release: | ||
if: "github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main'" | ||
needs: [tests, lint] | ||
Check failure on line 111 in .github/workflows/ci.yml GitHub Actions / [CI] TestInvalid workflow file
|
||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2.0.0 | ||
with: | ||
fetch-depth: 1 | ||
- uses: ruby/setup-ruby@v1 | ||
with: | ||
bundler-cache: true | ||
- name: Setup git and gh | ||
run: | | ||
git config user.name "${GITHUB_ACTOR}" | ||
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" | ||
echo ${{ secrets.GITHUB_TOKEN }} | gh auth login --with-token | ||
- run: gem install parse_gemspec-cli | ||
name: Intall gem parser | ||
- run: echo "::set-output name=tag::$(parse-gemspec-cli *.gemspec | jq .'version')" | ||
name: Set tag version | ||
id: set_tag | ||
- name: Add tag and push | ||
run: | | ||
git tag | ||
git push --tags | ||
- name: Create release | ||
run: gh release create ${{ steps.set_tag.outputs.tag }} --generate-notes | ||
publish: | ||
needs: release | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Publish to RubyGems | ||
run: | | ||
mkdir -p $HOME/.gem | ||
touch $HOME/.gem/credentials | ||
chmod 0600 $HOME/.gem/credentials | ||
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials | ||
gem build *.gemspec | ||
gem push *.gem | ||
env: | ||
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}" |