diff options
| author | Josh Cooper <737664+joshcooper@users.noreply.github.com> | 2023-04-20 16:47:48 -0700 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-20 16:47:48 -0700 | 
| commit | e1e6e13cda35370cbc7bc88657b9d7f84fbdb481 (patch) | |
| tree | 1b2572adbf4acbfffa62d0fea42edcaba9a0b0f3 | |
| parent | 8d6dce34b100856b061454b20b8cba28782e63de (diff) | |
| parent | 4ce2dc166cf45faa1b26f6be27a68a766172641b (diff) | |
| download | puppet-sshkeys_core-e1e6e13cda35370cbc7bc88657b9d7f84fbdb481.tar.gz puppet-sshkeys_core-e1e6e13cda35370cbc7bc88657b9d7f84fbdb481.tar.bz2  | |
Merge pull request #71 from mhashizume/MODULES-11422/main/dispatch-workflow
(MODULES-11422) Replace dispatch workflow
| -rw-r--r-- | .github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml | 22 | ||||
| -rw-r--r-- | .github/workflows/dispatch_unit_tests_with_nightly_puppet_gem.yaml | 147 | 
2 files changed, 22 insertions, 147 deletions
diff --git a/.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml b/.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml new file mode 100644 index 0000000..7d3c187 --- /dev/null +++ b/.github/workflows/daily_unit_tests_with_nightly_puppet_gem.yaml @@ -0,0 +1,22 @@ +--- +name: '[Daily] Unit Tests with nightly Puppet gem' + +on: +  schedule: +    - cron: '0 5 * * 1-5' +  workflow_dispatch: + +jobs: +  daily_unit_tests_with_nightly_puppet_gem: +    uses: "puppetlabs/phoenix-github-actions/.github/workflows/unit_tests_with_nightly_puppet_gem.yaml@main" + +  notify-via-slack: +    name: Notify workflow conclusion via Slack +    if: ${{ always() }} +    needs: daily_unit_tests_with_nightly_puppet_gem +    runs-on: 'ubuntu-latest' +    steps: +      - uses: luchihoratiu/notify-via-slack@main +        with: +          SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }} +          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} diff --git a/.github/workflows/dispatch_unit_tests_with_nightly_puppet_gem.yaml b/.github/workflows/dispatch_unit_tests_with_nightly_puppet_gem.yaml deleted file mode 100644 index 176adf5..0000000 --- a/.github/workflows/dispatch_unit_tests_with_nightly_puppet_gem.yaml +++ /dev/null @@ -1,147 +0,0 @@ ---- -name: '[Dispatched] Unit Tests with nightly Puppet gem' - -on: -  workflow_dispatch: -    inputs: -      pa_ref: -        description: 'Puppet Agent SHA to use in this run' -        required: true - -jobs: -  set_output_data: -    name: 'Prepare input and output data' -    runs-on: 'ubuntu-latest' -    outputs: -      puppet_sha: ${{ steps.setup_world.outputs.puppet_sha }} -      ruby_version: ${{ steps.setup_world.outputs.ruby_version }} -      puppet_version: ${{ steps.setup_world.outputs.puppet_version }} -      puppet_short_commit: ${{ steps.setup_world.outputs.puppet_short_commit }} - -    steps: -      - name: Gather and set data -        id: setup_world -        run: | -          pa_ref=${{ github.event.inputs.pa_ref }} -          res=$(curl -s https://raw.githubusercontent.com/puppetlabs/puppet-agent/${pa_ref}/configs/components/puppet.json) - -          puppet_remote=$(echo $res | cut -d '"' -f 4) -          puppet_sha=$(echo $res | cut -d '"' -f 8) - -          mkdir puppet -          pushd puppet -            git init -            git remote add origin ${puppet_remote} -            git fetch -            puppet_short_commit=$(git describe ${puppet_sha} | sed -r 's/-/./g' | rev | cut -c 4- | rev) -            puppet_version=${puppet_short_commit:0:1} -          popd -          rm -rf puppet -           -          case $puppet_version in -            6) -              ruby_version='2.5' -              ;; -            7) -              ruby_version='2.7' -              ;; -          esac - -          echo "::set-output name=puppet_sha::$puppet_sha" -          echo "::set-output name=ruby_version::$ruby_version" -          echo "::set-output name=puppet_version::$puppet_version" -          echo "::set-output name=puppet_short_commit::$puppet_short_commit" - -      - name: "Puppet Agent SHA: ${{ github.event.inputs.pa_ref }}" -        run: "echo ${{ github.event.inputs.pa_ref }}" - -      - name: "Puppet SHA: ${{ steps.setup_world.outputs.puppet_sha }}" -        run: "echo ${{ steps.setup_world.outputs.puppet_sha }}" -       -      - name: "Puppet Short Commit: ${{ steps.setup_world.outputs.puppet_short_commit }}" -        run: "echo ${{ steps.setup_world.outputs.puppet_short_commit }}" -       -      - name: "Puppet Version: ${{ steps.setup_world.outputs.puppet_version }}" -        run: "echo ${{ steps.setup_world.outputs.puppet_version }}" -       -      - name: "Ruby Version: ${{ steps.setup_world.outputs.ruby_version }}" -        run: "echo ${{ steps.setup_world.outputs.ruby_version }}" - -  unit_tests_with_nightly_puppet_gem: -    name: ${{ matrix.os_type }} / Puppet${{ needs.set_output_data.outputs.puppet_version }} gem / Ruby${{ needs.set_output_data.outputs.ruby_version }} -    needs: set_output_data -    env: -      puppet_version: ${{ needs.set_output_data.outputs.puppet_version }} -      ruby_version: ${{ needs.set_output_data.outputs.ruby_version }} -     -    strategy: -      matrix: -        os: [ 'ubuntu-20.04', 'macos-latest', 'windows-2019' ] -        include: -          - os: 'ubuntu-20.04' -            os_type: 'Linux' -            env_set_cmd: 'export ' -            gem_file_postfix: '.gem' -          - os: 'macos-latest' -            os_type: 'macOS' -            env_set_cmd: 'export ' -            gem_file_postfix: '-universal-darwin.gem' -          - os: 'windows-2019' -            os_type: 'Windows' -            env_set_cmd: '$env:' -            gem_file_postfix: '-x64-mingw32.gem' - -    runs-on: ${{ matrix.os }} -    steps: -      - name: Checkout code -        uses: actions/checkout@v3 - -      - name: Install ruby version ${{ env.ruby_version }} -        uses: ruby/setup-ruby@v1 -        with: -          ruby-version: ${{ env.ruby_version }} - -      - name: Install the latest nightly build of puppet${{ env.puppet_version }} gem -        run: | -          sleep_time=0 -          until [ $sleep_time -ge 15 ] -          do -            curl --location http://nightlies.puppet.com/downloads/gems/puppet${{ env.puppet_version }}-nightly/puppet-${{ needs.set_output_data.outputs.puppet_short_commit }}${{ matrix.gem_file_postfix }} --output puppet.gem -            gem install puppet.gem -N && break - -            sleep_time=$((sleep_time*2+1)) -            echo "Retrying download and install of gem in $sleep_time seconds..." -            sleep $sleep_time -          done -        shell: bash - -      - name: Prepare testing environment with bundler -        run: | -          git config --global core.longpaths true -          bundle config set system 'true' -          bundle config set --local without 'release' - -          ${{ matrix.env_set_cmd }}PUPPET_GEM_VERSION=${{ needs.set_output_data.outputs.puppet_short_commit }} -          bundle update --jobs 4 --retry 3 - -      - name: Run unit tests -        run: bundle exec rake parallel_spec - -  notify-via-slack: -    name: Notify workflow conclusion via Slack -    if: ${{ always() }} -    needs: [set_output_data, unit_tests_with_nightly_puppet_gem] -    runs-on: 'ubuntu-latest' -    steps: -      - uses: luchihoratiu/notify-via-slack@v1.0.0 -        with: -          SLACK_CHANNEL: ${{ secrets.SLACK_CHANNEL }} -          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} -          NOTIFY_ONLY_ON_CONCLUSION_CHANGE: 'true' -          EXTRA_INFORMATION: ':github_actions: Run number: ${{ github.run_id }} \n -                              :puppet: Puppet Agent SHA: ${{ github.event.inputs.pa_ref }} \n -                              :puppet: Puppet SHA: ${{ needs.set_output_data.outputs.puppet_sha }} \n -                              :puppet: Puppet Short Commit: ${{ needs.set_output_data.outputs.puppet_short_commit }} \n -                              :puppet: Puppet Version: ${{ needs.set_output_data.outputs.puppet_version }} \n -                              :ruby: Ruby Version: ${{ needs.set_output_data.outputs.ruby_version }} \n' -  | 
