blob: 6d00a978da3edaf50d4f4578d04208f199251504 [file] [log] [blame]
Mohammed Naser19871ba2023-03-27 22:38:39 +00001# 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: manila
16
17on:
18 pull_request:
19 paths:
20 - .github/workflows/manila.yml
21 push:
22 branches:
23 - main
24 paths:
25 - .github/workflows/manila.yml
Mohammed Naser01954262025-02-16 22:55:55 -050026 tags:
27 - v*
Mohammed Naser19871ba2023-03-27 22:38:39 +000028 workflow_dispatch:
29
30jobs:
31 build-image:
32 runs-on: ubuntu-latest
33 steps:
34 - name: Checkout project
Mohammed Nasere988c4b2025-03-04 10:19:45 -050035 uses: actions/checkout@v4
Mohammed Naser19871ba2023-03-27 22:38:39 +000036 with:
37 fetch-depth: 0
38
39 - name: Install dependencies
40 run: |
ricolina586ec52023-06-02 00:14:44 +080041 sudo apt-get update
Mohammed Naser6080c9b2024-07-18 10:43:09 -040042 sudo apt-get install -y debootstrap tox qemu-utils
Mohammed Naser19871ba2023-03-27 22:38:39 +000043 pipx install python-swiftclient
Mohammed Naser2607b552023-03-27 23:39:42 +000044 pipx inject python-swiftclient python-keystoneclient
Mohammed Naser19871ba2023-03-27 22:38:39 +000045
46 - name: Cache DIB_IMAGE_CACHE
Mohammed Nasere988c4b2025-03-04 10:19:45 -050047 id: cache-dib-image-cache
48 uses: actions/cache/restore@v4
Mohammed Naser19871ba2023-03-27 22:38:39 +000049 with:
50 path: ~/.cache/image-create
51 key: dib-image-cache
52
53 - name: Build image
Mohammed Naser6080c9b2024-07-18 10:43:09 -040054 run: tox -ebuild-manila-image
Mohammed Naser19871ba2023-03-27 22:38:39 +000055
Mohammed Nasere988c4b2025-03-04 10:19:45 -050056 - name: Save DIB_IMAGE_CACHE
57 id: dib-image-cache-save
58 uses: actions/cache/save@v4
59 with:
60 path: ~/.cache/image-create
61 key: ${{ steps.cache-dib-image-cache.outputs.cache-primary-key }}
62
Mohammed Naser19871ba2023-03-27 22:38:39 +000063 - name: Publish image
Mohammed Naser1ec06f72023-03-28 02:56:40 +000064 if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'release'
Mohammed Naser19871ba2023-03-27 22:38:39 +000065 run: |
66 swift post -r '.r:*,.rlistings' atmosphere-images
Mohammed Naser6080c9b2024-07-18 10:43:09 -040067 swift upload atmosphere-images manila-*.qcow2
Mohammed Naser19871ba2023-03-27 22:38:39 +000068 env:
69 OS_AUTH_URL: https://auth.vexxhost.net/v3
70 OS_REGION_NAME: ca-ymq-1
71 OS_USER_DOMAIN_NAME: Default
72 OS_USERNAME: ${{ secrets.OS_USERNAME }}
73 OS_PASSWORD: ${{ secrets.OS_PASSWORD }}
74 OS_PROJECT_DOMAIN_NAME: Default
75 OS_PROJECT_NAME: ${{ secrets.OS_PROJECT_NAME }}