diff --git a/.github/workflows/ansible-lint.yml b/.github/workflows/ansible-lint.yml deleted file mode 100644 index 7ac4222d..00000000 --- a/.github/workflows/ansible-lint.yml +++ /dev/null @@ -1,72 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Ansible lint - -on: [pull_request] - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: ubuntu-latest - container: - image: centos:7 - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - - name: Get file changes - id: get_file_changes - uses: trilom/file-changes-action@v1.2.4 - with: - output: ' ' - - - name: Echo file changes - run: | - echo Changed files: ${{ steps.get_file_changes.outputs.files }} - - - name: Lint Ansible Playbook - # replace "master" with any valid ref - uses: iranzo/ansible-lint-action@master - with: - # [required] - # Paths to ansible files (i.e., playbooks, tasks, handlers etc..) - # or valid Ansible directories according to the Ansible role - # directory structure. - # If you want to lint multiple ansible files, use the following syntax - # targets: | - # playbook_1.yml - # playbook_2.yml - targets: "${{ steps.get_file_changes.outputs.files }}" - # [optional] - # Arguments to override a package and its version to be set explicitly. - # Must follow the example syntax. - override-deps: | - ansible==2.9 - ansible-lint==4.2.0 - # [optional] - # Arguments to be passed to the ansible-lint - - # Options: - # -q quieter, although not silent output - # -p parseable output in the format of pep8 - # --parseable-severity parseable output including severity of rule - # -r RULESDIR specify one or more rules directories using one or - # more -r arguments. Any -r flags override the default - # rules in ansiblelint/rules, unless -R is also used. - # -R Use default rules in ansiblelint/rules in addition to - # any extra - # rules directories specified with -r. There is no need - # to specify this if no -r flags are used - # -t TAGS only check rules whose id/tags match these values - # -x SKIP_LIST only check rules whose id/tags do not match these - # values - # --nocolor disable colored output - # --exclude=EXCLUDE_PATHS - # path to directories or files to skip. This option is - # repeatable. - # -c C Specify configuration file to use. Defaults to ".ansible-lint" - args: "--exclude .github" diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml new file mode 100644 index 00000000..c78d0a25 --- /dev/null +++ b/.github/workflows/build-image.yml @@ -0,0 +1,50 @@ +name: Build OpenStack image + +on: + pull_request: + branch: + - test-action + +jobs: + build_image: + name: Build OpenStack image + runs-on: ubuntu-latest + steps: + - name: Check out repo + uses: actions/checkout@v3 + + - name: Set up Python 3.6 + uses: actions/setup-python@v2 + with: + python-version: 3.6 + + - name: Install necessary packages + run: | + python3 -m pip install --upgrade pip + pip install ansible s3cmd + - name: Clone packer repo + run: | + git clone https://gitlab.rc.uab.edu/rc/packer-openstack-hpc-image.git + + - name: Get packer variables file + run: | + cd packer-openstack-hpc-image + cp openstack.pkrvars.hcl{.example,} + + - name: Validate Template + uses: hashicorp/packer-github-actions@master + with: + command: validate + arguments: -syntax-only + target: openstack + working_directory: packer-openstack-hpc-image + + - name: Build Artifact + uses: hashicorp/packer-github-actions@master + with: + command: build + arguments: "-color=false -on-error=abort" + target: openstack + working_directory: packer-openstack-hpc-image + env: + PACKER_LOG: 1