summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2019-08-28 01:47:56 +0900
committerKazuhiro NISHIYAMA <zn@mbf.nifty.com>2019-08-28 01:48:40 +0900
commit71e5871c3be6df6a02b0af2cdb78b3fb35b24918 (patch)
tree95348ea0a9235f7e9b50279246257e2e8fd6134c
parentf308ab2131ee675000926540cbb8c13c91dc3be5 (diff)
Run on schedule only and skip if not modified
-rw-r--r--.github/workflows/doxygen.yml52
1 files changed, 35 insertions, 17 deletions
diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml
index 73937a2097..08a5230ed5 100644
--- a/.github/workflows/doxygen.yml
+++ b/.github/workflows/doxygen.yml
@@ -2,51 +2,69 @@ name: doxygen
on:
schedule:
- cron: '0 * * * *'
- pull_request:
- branches:
- - '*'
+
jobs:
latest:
runs-on: ubuntu-latest
steps:
+ - name: Download current index.html
+ run: |
+ mkdir -p tmp
+ curl -o tmp/index.html https://rubyci.s3.amazonaws.com/doxygen-latest-html/index.html || touch tmp/index.html
- name: Install libraries
run: |
set -x
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
sudo sed /etc/apt/sources.list -e "s/^# deb-src/deb-src/g" -i
sudo apt-get update
sudo apt-get install ruby2.5 doxygen graphviz
sudo apt-get build-dep ruby2.5
+ env:
+ GITHUB_SHA: ${{ github.sha }}
# 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=10 https://github.com/ruby/ruby . && git reset --hard "$GITHUB_SHA"
+ run: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
+ git clone --depth=10 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=10 "--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: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
chmod go-w $HOME
sudo chmod -R go-w /usr/share
- - run: autoconf
+ env:
+ GITHUB_SHA: ${{ github.sha }}
+ - run: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
+ autoconf
+ env:
+ GITHUB_SHA: ${{ github.sha }}
- name: Configure
- run: ./configure
+ run: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
+ ./configure
+ env:
+ GITHUB_SHA: ${{ github.sha }}
- name: Generate Doxyfile
- run: make Doxyfile
+ run: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
+ make Doxyfile
+ env:
+ GITHUB_SHA: ${{ github.sha }}
- name: Run Doxygen
- run: doxygen
+ run: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
+ doxygen
+ env:
+ GITHUB_SHA: ${{ github.sha }}
- name: Upload results
run: |
+ if grep -q "${GITHUB_SHA}" tmp/index.html; then exit; fi
aws s3 sync doc/capi/html/ s3://rubyci/doxygen-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'