From 138e28df6f8726896609567c7d7488460f01c2a2 Mon Sep 17 00:00:00 2001 From: File Sync Date: Thu, 21 Sep 2023 13:39:33 +0000 Subject: [PATCH] Add .github/workflows/ci.yml Source file https://github.com/dry-rb/template-gem/blob/7e7316a1f5f60362eadcee195beb2d3cc88976dc/.github/workflows/ci.yml.erb --- .github/workflows/ci.yml | 70 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..e69fdcc --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,70 @@ +# This file is synced from dry-rb/template-gem repo +name: CI + +on: + push: + paths: + - ".github/workflows/ci.yml" + - "lib/**" + - "*.gemspec" + - "spec/**" + - "Rakefile" + - "Gemfile" + - "Gemfile.devtools" + - ".rubocop.yml" + - "project.yml" + pull_request: + branches: + - main + create: + +jobs: + tests: + runs-on: ubuntu-latest + name: Tests + strategy: + fail-fast: false + matrix: + ruby: + - "3.2" + - "3.1" + - "3.0" + include: + - ruby: "3.2" + coverage: "true" + env: + COVERAGE: ${{matrix.coverage}} + COVERAGE_TOKEN: ${{secrets.CODACY_PROJECT_TOKEN}} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install package dependencies + run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS" + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{matrix.ruby}} + bundler-cache: true + - name: Run all tests + run: bundle exec rake + release: + runs-on: ubuntu-latest + if: contains(github.ref, 'tags') && github.event_name == 'create' + needs: tests + env: + GITHUB_LOGIN: dry-bot + GITHUB_TOKEN: ${{secrets.GH_PAT}} + steps: + - uses: actions/checkout@v3 + - name: Install package dependencies + run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS" + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.0 + - name: Install dependencies + run: gem install ossy --no-document + - name: Trigger release workflow + run: | + tag=$(echo $GITHUB_REF | cut -d / -f 3) + ossy gh w dry-rb/devtools release --payload "{\"tag\":\"$tag\",\"sha\":\"${{github.sha}}\",\"tag_creator\":\"$GITHUB_ACTOR\",\"repo\":\"$GITHUB_REPOSITORY\",\"repo_name\":\"${{github.event.repository.name}}\"}"