blob: aae04df48a775bcd7d5ded4e00c3c756766ac404 [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 Naser1ec06f72023-03-28 02:56:40 +000026 release:
27 types:
28 - published
Mohammed Naser19871ba2023-03-27 22:38:39 +000029 workflow_dispatch:
30
31jobs:
32 build-image:
33 runs-on: ubuntu-latest
34 steps:
35 - name: Checkout project
renovate[bot]e0441322024-05-19 00:14:14 +020036 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
Mohammed Naser19871ba2023-03-27 22:38:39 +000037 with:
38 fetch-depth: 0
39
40 - name: Install dependencies
41 run: |
ricolina586ec52023-06-02 00:14:44 +080042 sudo apt-get update
Mohammed Naser6080c9b2024-07-18 10:43:09 -040043 sudo apt-get install -y debootstrap tox qemu-utils
Mohammed Naser19871ba2023-03-27 22:38:39 +000044 pipx install python-swiftclient
Mohammed Naser2607b552023-03-27 23:39:42 +000045 pipx inject python-swiftclient python-keystoneclient
Mohammed Naser19871ba2023-03-27 22:38:39 +000046
47 - name: Cache DIB_IMAGE_CACHE
renovate[bot]d7d88c02024-04-03 11:31:34 -040048 uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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
56 - name: Publish image
Mohammed Naser1ec06f72023-03-28 02:56:40 +000057 if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'release'
Mohammed Naser19871ba2023-03-27 22:38:39 +000058 run: |
59 swift post -r '.r:*,.rlistings' atmosphere-images
Mohammed Naser6080c9b2024-07-18 10:43:09 -040060 swift upload atmosphere-images manila-*.qcow2
Mohammed Naser19871ba2023-03-27 22:38:39 +000061 env:
62 OS_AUTH_URL: https://auth.vexxhost.net/v3
63 OS_REGION_NAME: ca-ymq-1
64 OS_USER_DOMAIN_NAME: Default
65 OS_USERNAME: ${{ secrets.OS_USERNAME }}
66 OS_PASSWORD: ${{ secrets.OS_PASSWORD }}
67 OS_PROJECT_DOMAIN_NAME: Default
68 OS_PROJECT_NAME: ${{ secrets.OS_PROJECT_NAME }}