blob: 2631040600a59cecb464321296806173e98f6f10 [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 Naserbf178002023-03-27 23:33:04 +000026 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
35 uses: actions/checkout@v3
36 with:
37 fetch-depth: 0
38
39 - name: Install dependencies
40 run: |
41 sudo apt-get install -y debootstrap qemu-utils
42 pipx install diskimage-builder==3.28.0
43 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 pipx install poetry
46 poetry self add "poetry-dynamic-versioning[plugin]"
47
48 - name: Clone openstack/manila-image-elements
49 uses: actions/checkout@v3
50 with:
51 repository: openstack/manila-image-elements
52 path: manila-image-elements
53
54 - name: Cache DIB_IMAGE_CACHE
55 uses: actions/cache@v3
56 with:
57 path: ~/.cache/image-create
58 key: dib-image-cache
59
60 - name: Build image
Mohammed Naserd88e8312023-03-28 02:22:46 +000061 run: disk-image-create -o manila-$(poetry version --short).qcow2 vm manila-ubuntu-minimal dhcp-all-interfaces manila-ssh ubuntu-nfs ubuntu-cifs
Mohammed Naser19871ba2023-03-27 22:38:39 +000062 env:
63 ELEMENTS_PATH: manila-image-elements/elements
64
65 - name: Publish image
66 if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
67 run: |
68 swift post -r '.r:*,.rlistings' atmosphere-images
69 swift upload atmosphere-images manila-$(poetry version --short).qcow2
70 env:
71 OS_AUTH_URL: https://auth.vexxhost.net/v3
72 OS_REGION_NAME: ca-ymq-1
73 OS_USER_DOMAIN_NAME: Default
74 OS_USERNAME: ${{ secrets.OS_USERNAME }}
75 OS_PASSWORD: ${{ secrets.OS_PASSWORD }}
76 OS_PROJECT_DOMAIN_NAME: Default
77 OS_PROJECT_NAME: ${{ secrets.OS_PROJECT_NAME }}