-
Notifications
You must be signed in to change notification settings - Fork 0
64 lines (54 loc) · 2.35 KB
/
remove_solution.yml
File metadata and controls
64 lines (54 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# 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 .gitignore viennarna-tutorial.yml Slides/tutorial1_Seq_to_2D_practical.pdf
# 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 -rf ${file}
mv ${file}_tmp ${file}
done
git add -A
git diff-index --quiet HEAD || git commit -am "deploy files"
git push origin $TARGET_BRANCH