forked from lithops-cloud/lithops
-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (103 loc) · 3.94 KB
/
main.yml
File metadata and controls
134 lines (103 loc) · 3.94 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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: "on-pull-request"
on:
pull_request:
branches:
- master
workflow_dispatch:
# this allows to run the workflow manually through the github dashboard
env:
HAVE_LITHOPS_CONFIG: ${{ secrets.LITHOPS_CONFIG != '' }}
LITHOPS_CONFIG_FILE: /tmp/lithops_config.yaml
jobs:
determine_runnable_jobs:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
outputs:
localhost: ${{ steps.script.outputs.localhost }}
ibm_cf: ${{ steps.script.outputs.ibm_cf }}
code_engine: ${{ steps.script.outputs.code_engine }}
steps:
- name: Set jobs to run
id: script
run: |
echo "localhost=true" >> $GITHUB_OUTPUT
echo "ibm_cf=false" >> $GITHUB_OUTPUT
echo "code_engine=false" >> $GITHUB_OUTPUT
localhost_tests:
runs-on: ubuntu-latest
needs: determine_runnable_jobs
if: needs.determine_runnable_jobs.outputs.localhost == 'true'
steps:
- name: Clone Lithops repository
uses: actions/checkout@v3
- name: Install Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Lithops
run: |
pip3 install -U .
- name: Run Lithops tests
run: |
lithops test -b localhost -s localhost
ibm_ce_cos_tests:
runs-on: ubuntu-latest
needs: determine_runnable_jobs
if: needs.determine_runnable_jobs.outputs.code_engine == 'true'
steps:
- name: Clone Lithops repository
uses: actions/checkout@v3
- name: Install Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Lithops
run: |
pip3 install -U .
- name: Install Lithops config
id: config
run: |
echo -n -e "${{ secrets.LITHOPS_CONFIG }}" > $LITHOPS_CONFIG_FILE
- name: Build new runtime
run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_TOKEN }}
cd runtime/code_engine
lithops runtime build -f Dockerfile.githubci ${{ secrets.DOCKER_USER }}/lithops-ce-gihub-ci:${{ github.run_id }} -b code_engine
sed -i '/runtime: lithops-ce/c\ runtime: '${{ secrets.DOCKER_USER }}'/lithops-ce-gihub-ci:'${{ github.run_id }} $LITHOPS_CONFIG_FILE
- name: Run Lithops tests
run: |
lithops test -b code_engine -s ibm_cos -k
- name: Delete Lithops CE runtime
if: needs.determine_runnable_jobs.outputs.code_engine == 'true'
run: |
lithops runtime delete ${{ secrets.DOCKER_USER }}/lithops-ce-gihub-ci:${{ github.run_id }} -b code_engine -s ibm_cos
ibm_cf_cos_tests:
runs-on: ubuntu-latest
needs: determine_runnable_jobs
if: needs.determine_runnable_jobs.outputs.ibm_cf == 'true'
steps:
- name: Clone Lithops repository
uses: actions/checkout@v3
- name: Install Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Lithops
run: |
pip3 install -U .
- name: Install Lithops config
id: config
run: |
echo -n -e "${{ secrets.LITHOPS_CONFIG }}" > $LITHOPS_CONFIG_FILE
- name: Build new runtime
run: |
docker login -u ${{ secrets.DOCKER_USER }} -p ${{ secrets.DOCKER_TOKEN }}
cd runtime/ibm_cf
lithops runtime build -f Dockerfile.githubci ${{ secrets.DOCKER_USER }}/lithops-cf-gihub-ci:${{ github.run_id }} -b ibm_cf
sed -i '/runtime: lithops-cf/c\ runtime: '${{ secrets.DOCKER_USER }}'/lithops-cf-gihub-ci:'${{ github.run_id }} $LITHOPS_CONFIG_FILE
- name: Run Lithops tests
run: |
lithops test -b ibm_cf -s ibm_cos -k
- name: Delete Lithops CF runtime
run: |
lithops runtime delete ${{ secrets.DOCKER_USER }}/lithops-cf-gihub-ci:${{ github.run_id }} -b ibm_cf -s ibm_cos