blob: 65f23313569e246f0a8813f23f4f8d0e734e94e6 [file] [log] [blame]
Mohammed Naser3f961782023-04-20 10:48:21 -04001# Copyright (c) 2023 VEXXHOST, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
15name: ceph
16
17on:
18 pull_request:
19 push:
20 branches:
21 - main
okozachenko12034371e492023-06-21 16:41:29 +100022 workflow_dispatch:
23 inputs:
24 debug_enabled:
25 type: boolean
26 description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
27 required: false
28 default: false
Mohammed Naser3f961782023-04-20 10:48:21 -040029
30jobs:
Mohammed Naser593ec012023-07-23 09:20:05 +000031 # ovs-debug:
32 # runs-on: ubuntu-20.04-16-cores
33 # if: github.event_name == 'workflow_dispatch' && inputs.debug_enabled
34 # steps:
35 # - name: Checkout project
36 # uses: actions/checkout@v3
okozachenko12034371e492023-06-21 16:41:29 +100037
Mohammed Naser593ec012023-07-23 09:20:05 +000038 # - name: Install Poetry
39 # run: pipx install poetry
okozachenko12034371e492023-06-21 16:41:29 +100040
Mohammed Naser593ec012023-07-23 09:20:05 +000041 # - name: Setup Python
42 # uses: actions/setup-python@v4
43 # with:
44 # cache: poetry
okozachenko12034371e492023-06-21 16:41:29 +100045
Mohammed Naser593ec012023-07-23 09:20:05 +000046 # - name: Install dependencies
47 # run: poetry install --no-interaction --with dev
okozachenko12034371e492023-06-21 16:41:29 +100048
Mohammed Naser593ec012023-07-23 09:20:05 +000049 # # NOTE(mnaser): LVM commands take a long time if there are any existing
50 # # loop devices created by "snapd", so we uninstall it.
51 # - name: Uninstall "snapd"
52 # run: sudo apt-get purge -y snapd
okozachenko12034371e492023-06-21 16:41:29 +100053
Mohammed Naser593ec012023-07-23 09:20:05 +000054 # - name: Turn off swap
55 # run: sudo swapoff -a
okozachenko12034371e492023-06-21 16:41:29 +100056
Mohammed Naser593ec012023-07-23 09:20:05 +000057 # - name: Run Molecule Converge
58 # run: poetry run molecule converge -s ceph
okozachenko12034371e492023-06-21 16:41:29 +100059
Mohammed Naser593ec012023-07-23 09:20:05 +000060 # # Enable tmate debugging of manually-triggered workflows if the input option was provided
61 # - name: Setup tmate session
62 # if: ${{ failure() }}
63 # uses: mxschmitt/action-tmate@v3
64 # timeout-minutes: 60
okozachenko12034371e492023-06-21 16:41:29 +100065
Mohammed Naser593ec012023-07-23 09:20:05 +000066 # - name: Run Molecule Destroy
67 # run: poetry run molecule destroy -s ceph
okozachenko12034371e492023-06-21 16:41:29 +100068
Mohammed Naser593ec012023-07-23 09:20:05 +000069 # ovs:
70 # runs-on: ubuntu-20.04-16-cores
71 # if: github.event_name != 'workflow_dispatch' || !inputs.debug_enabled
72 # steps:
73 # - name: Checkout project
74 # uses: actions/checkout@v3
Mohammed Naserb8cfb972023-07-22 18:42:24 +000075
Mohammed Naser593ec012023-07-23 09:20:05 +000076 # - name: Install Poetry
77 # run: pipx install poetry
Mohammed Naserb8cfb972023-07-22 18:42:24 +000078
Mohammed Naser593ec012023-07-23 09:20:05 +000079 # - name: Setup Python
80 # uses: actions/setup-python@v4
81 # with:
82 # cache: poetry
Mohammed Naserb8cfb972023-07-22 18:42:24 +000083
Mohammed Naser593ec012023-07-23 09:20:05 +000084 # - name: Install dependencies
85 # run: poetry install --no-interaction --with dev
Mohammed Naserb8cfb972023-07-22 18:42:24 +000086
Mohammed Naser593ec012023-07-23 09:20:05 +000087 # # NOTE(mnaser): LVM commands take a long time if there are any existing
88 # # loop devices created by "snapd", so we uninstall it.
89 # - name: Uninstall "snapd"
90 # run: sudo apt-get purge -y snapd
Mohammed Naserb8cfb972023-07-22 18:42:24 +000091
Mohammed Naser593ec012023-07-23 09:20:05 +000092 # - name: Turn off swap
93 # run: sudo swapoff -a
Mohammed Naserb8cfb972023-07-22 18:42:24 +000094
Mohammed Naser593ec012023-07-23 09:20:05 +000095 # - name: Run Molecule
96 # run: poetry run molecule test -s ceph
Mohammed Naserb8cfb972023-07-22 18:42:24 +000097
Mohammed Naser727b5b62023-07-22 19:21:00 +000098 ovn-debug:
99 runs-on: ubuntu-20.04-16-cores
Mohammed Naser593ec012023-07-23 09:20:05 +0000100 # if: github.event_name == 'workflow_dispatch' && inputs.debug_enabled
Mohammed Naser727b5b62023-07-22 19:21:00 +0000101 steps:
102 - name: Checkout project
103 uses: actions/checkout@v3
104
105 - name: Install Poetry
106 run: pipx install poetry
107
108 - name: Setup Python
109 uses: actions/setup-python@v4
110 with:
111 cache: poetry
112
113 - name: Install dependencies
114 run: poetry install --no-interaction --with dev
115
116 # NOTE(mnaser): LVM commands take a long time if there are any existing
117 # loop devices created by "snapd", so we uninstall it.
118 - name: Uninstall "snapd"
119 run: sudo apt-get purge -y snapd
120
121 - name: Turn off swap
122 run: sudo swapoff -a
123
124 - name: Run Molecule Converge
125 run: poetry run molecule converge -s ceph
126 env:
127 OVN_ENABLED: true
128
129 # Enable tmate debugging of manually-triggered workflows if the input option was provided
130 - name: Setup tmate session
131 if: ${{ failure() }}
132 uses: mxschmitt/action-tmate@v3
Mohammed Naserb90fe5e2023-07-23 17:06:29 +0000133 timeout-minutes: 180
Mohammed Naser727b5b62023-07-22 19:21:00 +0000134
135 - name: Run Molecule Destroy
136 run: poetry run molecule destroy -s ceph
137
Mohammed Naser593ec012023-07-23 09:20:05 +0000138 # ovn:
139 # runs-on: ubuntu-20.04-16-cores
140 # if: github.event_name != 'workflow_dispatch' || !inputs.debug_enabled
141 # steps:
142 # - name: Checkout project
143 # uses: actions/checkout@v3
Mohammed Naser3f961782023-04-20 10:48:21 -0400144
Mohammed Naser593ec012023-07-23 09:20:05 +0000145 # - name: Install Poetry
146 # run: pipx install poetry
Mohammed Naser3f961782023-04-20 10:48:21 -0400147
Mohammed Naser593ec012023-07-23 09:20:05 +0000148 # - name: Setup Python
149 # uses: actions/setup-python@v4
150 # with:
151 # cache: poetry
Mohammed Naser3f961782023-04-20 10:48:21 -0400152
Mohammed Naser593ec012023-07-23 09:20:05 +0000153 # - name: Install dependencies
154 # run: poetry install --no-interaction --with dev
Mohammed Naser3f961782023-04-20 10:48:21 -0400155
Mohammed Naser593ec012023-07-23 09:20:05 +0000156 # # NOTE(mnaser): LVM commands take a long time if there are any existing
157 # # loop devices created by "snapd", so we uninstall it.
158 # - name: Uninstall "snapd"
159 # run: sudo apt-get purge -y snapd
Mohammed Naser3f961782023-04-20 10:48:21 -0400160
Mohammed Naser593ec012023-07-23 09:20:05 +0000161 # - name: Turn off swap
162 # run: sudo swapoff -a
Mohammed Naser3f961782023-04-20 10:48:21 -0400163
Mohammed Naser593ec012023-07-23 09:20:05 +0000164 # - name: Run Molecule
165 # run: poetry run molecule test -s ceph
166 # env:
167 # OVN_ENABLED: true