Skip to content

Updated README

Updated README #4

# This is a basic workflow to help you get started with Actions
name: remove_solution
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "with_solution" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
TARGET_BRANCH: main
SOURCE_BRANCH: with_solution
FILE1_PRE: 1_ViennaRNA_Introduction.ipynb
FILE1_POST: 1_ViennaRNA_Introduction_No_Solution.ipynb
FILE2_PRE: 2_Practical_Example.ipynb
FILE2_POST: 2_Practical_Example_No_Solution.ipynb
OTHER_FILES: README.md 2_input .github/workflows
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
remove_solution_and_sync:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Runs a single command using the runners shell
- uses: actions/checkout@v2
- name: Create a new file without solutions
run: |
git config --global user.name 'GitHub Action'
git config --global user.email 'action@github.com'
git fetch
git checkout $SOURCE_BRANCH
jq --arg kw "solution" '.cells |= map(select((.metadata | tostring | contains($kw)) | not))' $FILE1_PRE > ${FILE1_POST}_tmp
jq --arg kw "solution" '.cells |= map(select((.metadata | tostring | contains($kw)) | not))' $FILE2_PRE > ${FILE2_POST}_tmp
for file in $OTHER_FILES; do
cp -r $file ${file}_tmp
done
# Runs a set of commands using the runners shell
- name: Move it to target branch
run: |
git config --global user.name 'GitHub Action'
git config --global user.email 'action@github.com'
git fetch
git checkout $TARGET_BRANCH
mv ${FILE1_POST}_tmp ${FILE1_POST}
mv ${FILE2_POST}_tmp ${FILE2_POST}
for file in $OTHER_FILES; do
rm -r ${file}
mv ${file}_tmp ${file}
done
git add -A
git diff-index --quiet HEAD || git commit -am "deploy files"
git push origin $TARGET_BRANCH