From 4ea30963ebc6da8c6d5eeef7d5322414001a680f Mon Sep 17 00:00:00 2001 From: vsoch Date: Wed, 11 May 2022 21:40:04 -0600 Subject: [PATCH] add on demand updater Signed-off-by: vsoch --- ...e-annotation.yml => issue-annotation.yaml} | 0 .github/workflows/update-on-demand.yaml | 78 +++++++++++++++++++ ...date-software.yml => update-software.yaml} | 0 3 files changed, 78 insertions(+) rename .github/workflows/{issue-annotation.yml => issue-annotation.yaml} (100%) create mode 100644 .github/workflows/update-on-demand.yaml rename .github/workflows/{update-software.yml => update-software.yaml} (100%) diff --git a/.github/workflows/issue-annotation.yml b/.github/workflows/issue-annotation.yaml similarity index 100% rename from .github/workflows/issue-annotation.yml rename to .github/workflows/issue-annotation.yaml diff --git a/.github/workflows/update-on-demand.yaml b/.github/workflows/update-on-demand.yaml new file mode 100644 index 000000000..90a2ce436 --- /dev/null +++ b/.github/workflows/update-on-demand.yaml @@ -0,0 +1,78 @@ +name: update-software + +on: + workflow_dispatch: + inputs: + scraper: + description: 'Scraper' + required: true + type: choice + options: + - molssi + - joss + - imperial + - rsnl + - biotools + - hal + - ropensci + +jobs: + UpdateSoftware: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + - name: Install Research Software Encyclopedia + run: | + sudo apt-get update && sudo apt-get install -y python3 python3-pip python3-setuptools + sudo pip3 install rse[all] + rse --version + - name: Run Latest Scrapers + env: + SCRAPER: ${{ github.event.inputs.scraper }} + RSE_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + rse scrape ${SCRAPER} + rse export repos.txt --force + + - name: Export site to docs/ + uses: rseng/rse-action@0.0.13 + with: + config: rse.ini + export_dir: docs + force: true + prefix: software + host: https://rseng.github.io + + - name: Checkout New Branch + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH_AGAINST: "master" + run: | + printf "GitHub Actor: ${GITHUB_ACTOR}\n" + export BRANCH_FROM="on-demand-update/software-$(date '+%Y-%m-%d')" + git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" + git branch + git checkout -b "${BRANCH_FROM}" || git checkout "${BRANCH_FROM}" + git branch + + git config --global user.name "github-actions" + git config --global user.email "github-actions@users.noreply.github.com" + + git add database/* + git add docs/* + + if git diff-index --quiet HEAD --; then + printf "No changes\n" + else + printf "Changes\n" + git commit -m "On demand deployment to update software database $(date '+%Y-%m-%d')" + git push origin "${BRANCH_FROM}" + fi + echo "PULL_REQUEST_FROM_BRANCH=${BRANCH_FROM}" >> $GITHUB_ENV + + - name: Open Pull Request + uses: vsoch/pull-request-action@1.0.12 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PULL_REQUEST_BRANCH: "master" diff --git a/.github/workflows/update-software.yml b/.github/workflows/update-software.yaml similarity index 100% rename from .github/workflows/update-software.yml rename to .github/workflows/update-software.yaml