[前][次][番号順一覧][スレッド一覧]

ruby-changes:57302

From: Yusuke <ko1@a...>
Date: Tue, 27 Aug 2019 14:41:18 +0900 (JST)
Subject: [ruby-changes:57302] Yusuke Endoh: 0c8525ecc9 (master): .github/workflows/coverage.yml: add a cron job for coverage in Actions

https://git.ruby-lang.org/ruby.git/commit/?id=0c8525ecc9

From 0c8525ecc987615f59fc68f2f767fc12217a7e4e Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Mon, 26 Aug 2019 17:26:39 +0900
Subject: .github/workflows/coverage.yml: add a cron job for coverage in
 Actions


diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
new file mode 100644
index 0000000..2a70a21
--- /dev/null
+++ b/.github/workflows/coverage.yml
@@ -0,0 +1,68 @@ https://github.com/ruby/ruby/blob/trunk/.github/workflows/coverage.yml#L1
+name: coverage
+on:
+  schedule:
+    - cron: '0 * * * *'
+  pull_request:
+    branches:
+      - '*'
+jobs:
+  latest:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        test_task: [ "check" ]
+      fail-fast: false
+    steps:
+      - name: Install libraries
+        run: |
+          set -x
+          sudo sed /etc/apt/sources.list -e "s/^# deb-src/deb-src/g" -i
+          sudo apt-get update
+          sudo apt-get install ruby2.5 lcov xz-utils
+          sudo apt-get build-dep ruby2.5
+
+      # Not using official actions/checkout because it's unstable and sometimes doesn't work for a fork.
+      - name: Checkout ruby/ruby
+        run: git clone --depth=1 https://github.com/ruby/ruby . && git reset --hard "$GITHUB_SHA"
+        env:
+          GITHUB_SHA: ${{ github.sha }}
+        if: github.event_name == 'schedule'
+      - name: Checkout a pull request
+        run: git clone --depth=1 "--branch=$GITHUB_BRANCH" "https://github.com/${GITHUB_REPO}" . && git reset --hard "$GITHUB_REV"
+        env:
+          GITHUB_REV: ${{ github.event.pull_request.head.sha }}
+          GITHUB_BRANCH: ${{ github.event.pull_request.head.ref }}
+          GITHUB_REPO: ${{ github.event.pull_request.head.repo.full_name }}
+        if: github.event_name == 'pull_request'
+
+      - name: Fixed world writable dirs
+        run: |
+          chmod go-w $HOME
+          sudo chmod -R go-w /usr/share
+      - run: autoconf
+      - name: Configure with gcov
+        run: ./configure --enable-gcov
+      - name: Setup coverage tools
+        run: make update-coverage
+      - name: Build
+        run: make -j$((1 + $(nproc --all)))
+      - name: Tests
+        run: make -s check COVERAGE=true
+      - name: Aggregate coverage results
+        run: make lcov
+      - name: Upload results
+        run: |
+          xz -9 lcov-all.info
+          aws s3 cp lcov-all.info.xz s3://rubyci/coverage/lcov-all-"$GITHUB_SHA".info.xz
+          aws s3 sync lcov-out s3://rubyci/coverage-latest-html
+        env:
+          GITHUB_SHA: ${{ github.sha }}
+          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
+          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+        if: github.event_name == 'schedule'
+
+      - name: Debug GitHub context
+        run: echo "$GITHUB_CONTEXT"
+        env:
+          GITHUB_CONTEXT: ${{ toJson(github) }}
+        if: failure() && github.event_name == 'schedule'
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]