Skip to content

Commit 6d6ed26

Browse files
committed
Use scripts in workflow
Signed-off-by: Daniel Kastl <[email protected]>
1 parent 628fec8 commit 6d6ed26

10 files changed

+75
-63
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
case "${{ matrix.redmine_version }}" in
4+
master)
5+
echo "GEM_ACTIVERECORD_POSTGIS_ADAPTER_VERSION=9.0.1" >> ${GITHUB_ENV}
6+
;;
7+
esac
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
bundle config set --local without 'development'
4+
bundle install --jobs=4 --retry=3
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
yarn
4+
npx webpack
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
3+
cat <<EOF > config/database.yml
4+
test:
5+
adapter: postgis
6+
database: redmine
7+
host: postgres
8+
username: postgres
9+
password: postgres
10+
encoding: utf8
11+
EOF
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
3+
bundle exec rake generate_secret_token
4+
bundle exec rake db:create db:migrate redmine:plugins:migrate

.github/workflows/run_tests.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
3+
bundle exec rake redmine:plugins:test:units NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
4+
bundle exec rake redmine:plugins:test:functionals NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
5+
bundle exec rake redmine:plugins:test:integration NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
6+
if [ "${{ matrix.system_test }}" = "true" ]; then
7+
bundle exec rake redmine:plugins:test:system NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
8+
fi
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
bundle exec rake redmine:plugins:migrate NAME=${{ env.PLUGIN_NAME }} VERSION=0
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/bin/bash
2+
3+
apt-get update --yes --quiet
4+
apt-get install --yes --quiet postgresql-client gcc libpq-dev make patch libgeos-dev curl
5+
6+
# For system test
7+
if [ "${{ matrix.system_test }}" = "true" ]; then
8+
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
9+
sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
10+
apt-get -y update
11+
apt-get install -y google-chrome-stable
12+
fi
13+
14+
curl -sL https://deb.nodesource.com/setup_20.x | bash -
15+
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
16+
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
17+
apt-get update --yes --quiet
18+
apt-get install --yes --quiet --no-install-recommends nodejs yarn

.github/workflows/test-postgis.yml

Lines changed: 11 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -60,97 +60,45 @@ jobs:
6060
with:
6161
path: redmine/plugins/${{ env.PLUGIN_NAME }}
6262

63-
- name: Update package archives
64-
run: apt-get update --yes --quiet
65-
66-
- name: Install package dependencies
67-
run: |
68-
apt-get install --yes --quiet \
69-
postgresql-client \
70-
gcc libpq-dev make patch libgeos-dev curl
71-
# For system test
72-
if [ ${{ matrix.system_test }} = "true" ]; then
73-
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
74-
sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
75-
apt-get -y update
76-
apt-get install -y google-chrome-stable
77-
fi
78-
79-
- name: Install Node/Yarn packages
80-
run: |
81-
curl -sL https://deb.nodesource.com/setup_20.x | bash -
82-
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
83-
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
84-
apt-get update --yes --quiet
85-
apt-get install --yes --quiet --no-install-recommends nodejs yarn
63+
- name: Setup Environment
64+
run: ./setup_environment.sh
8665

8766
- name: Prepare Plugin
88-
working-directory: redmine/plugins/redmine_gtt
89-
run: |
90-
yarn
91-
npx webpack
67+
working-directory: redmine/plugins/${{ env.PLUGIN_NAME }}
68+
run: ./prepare_plugin.sh
9269

9370
- name: Prepare Redmine source
9471
working-directory: redmine
95-
run: |
96-
cat <<EOF > config/database.yml
97-
test:
98-
adapter: postgis
99-
database: redmine
100-
host: postgres
101-
username: postgres
102-
password: postgres
103-
encoding: utf8
104-
EOF
72+
run: ./prepare_redmine.sh
10573

10674
- name: Adjust Gem environment
107-
run: |
108-
case "${{ matrix.redmine_version }}" in
109-
master)
110-
echo "GEM_ACTIVERECORD_POSTGIS_ADAPTER_VERSION=9.0.1" >> ${GITHUB_ENV}
111-
;;
112-
esac
75+
run: ./adjust_gem_env.sh
11376

11477
- name: Install Ruby dependencies
11578
working-directory: redmine
116-
run: |
117-
bundle config set --local without 'development'
118-
bundle install --jobs=4 --retry=3
79+
run: ./install_ruby_dependencies.sh
11980

12081
- name: Run Redmine rake tasks
12182
env:
12283
RAILS_ENV: test
12384
working-directory: redmine
124-
run: |
125-
bundle exec rake generate_secret_token
126-
bundle exec rake db:create db:migrate redmine:plugins:migrate
85+
run: ./run_rake_tasks.sh
12786

12887
- name: Zeitwerk check
12988
env:
13089
RAILS_ENV: test
13190
working-directory: redmine
132-
run: |
133-
if grep -q zeitwerk config/application.rb ; then
134-
bundle exec rake zeitwerk:check
135-
fi
136-
shell: bash
91+
run: ./zeitwerk_check.sh
13792

13893
- name: Run tests
13994
env:
14095
RAILS_ENV: test
141-
# For system test in plugin
14296
GOOGLE_CHROME_OPTS_ARGS: "headless,disable-gpu,no-sandbox,disable-dev-shm-usage"
14397
working-directory: redmine
144-
run: |
145-
bundle exec rake redmine:plugins:test:units NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
146-
bundle exec rake redmine:plugins:test:functionals NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
147-
bundle exec rake redmine:plugins:test:integration NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
148-
if [ ${{ matrix.system_test }} = "true" ]; then
149-
bundle exec rake redmine:plugins:test:system NAME=${{ env.PLUGIN_NAME }} RUBYOPT="-W0"
150-
fi
98+
run: ./run_tests.sh
15199

152100
- name: Run uninstall test
153101
env:
154102
RAILS_ENV: test
155103
working-directory: redmine
156-
run: bundle exec rake redmine:plugins:migrate NAME=${{ env.PLUGIN_NAME }} VERSION=0
104+
run: ./run_uninstall_test.sh
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
if grep -q zeitwerk config/application.rb ; then
4+
bundle exec rake zeitwerk:check
5+
fi

0 commit comments

Comments
 (0)