on: workflow_dispatch: branches: - 'main' repository_dispatch: types: [prerelease] jobs: setup-packet: if: github.repository == 'hashicorp/vagrant-acceptance' runs-on: self-hosted name: Build Packet Instance steps: - name: Code Checkout uses: actions/checkout@v1 - name: Create packet instance run: ./.ci/spec/create-packet.sh working-directory: ${{github.workspace}} env: VAGRANT_CI_LOADER_BUCKET: ${{ secrets.VAGRANT_CI_LOADER_BUCKET }} setup-hosts: if: github.repository == 'hashicorp/vagrant-acceptance' runs-on: self-hosted name: Vagrant-Spec Start Hosts needs: setup-packet strategy: matrix: host_os: ['hashicorp/bionic64'] guest_os: ['hashicorp-vagrant/ubuntu-16.04'] providers: ['docker', 'virtualbox'] steps: - name: Code Checkout uses: actions/checkout@v1 - name: Create packet host for tests (provider ${{ matrix.providers }}) run: ./.ci/spec/create-hosts.sh working-directory: ${{github.workspace}} env: VAGRANT_HOST_BOXES: ${{matrix.host_os}} VAGRANT_GUEST_BOXES: ${{matrix.guest_os}} VAGRANT_PRERELEASE_VERSION: ${{ github.event.client_payload.prerelease_version }} VAGRANT_SPEC_PROVIDERS: ${{matrix.providers}} VAGRANT_CI_LOADER_BUCKET: ${{ secrets.VAGRANT_CI_LOADER_BUCKET }} spec-tests: if: github.repository == 'hashicorp/vagrant-acceptance' runs-on: self-hosted name: Vagrant-Spec Tests needs: setup-hosts strategy: matrix: host_os: ['hashicorp/bionic64'] guest_os: ['hashicorp-vagrant/ubuntu-16.04'] docker_images: ['nginx'] providers: ['docker', 'virtualbox'] steps: - name: Run Tests with host ${{ matrix.host_os }} using provider ${{ matrix.providers }} run: ./.ci/spec/run-test.sh working-directory: ${{github.workspace}} env: VAGRANT_HOST_BOXES: ${{matrix.host_os}} VAGRANT_GUEST_BOXES: ${{matrix.guest_os}} VAGRANT_SPEC_PROVIDERS: ${{matrix.providers}} VAGRANT_DOCKER_IMAGES: ${{matrix.docker_images}} VAGRANT_CI_LOADER_BUCKET: ${{ secrets.VAGRANT_CI_LOADER_BUCKET }} cleanup: if: github.repository == 'hashicorp/vagrant-acceptance' runs-on: self-hosted name: Cleanup Post Vagrant-Spec Tests needs: spec-tests steps: - name: Clean Packet if: always() run: ./.ci/spec/clean-packet.sh - name: Clean Workspace if: always() run: rm -rf ${{ github.workspace }}