2a82a7b919831d211192ba7dda8ab49b70a3c268
[puppet-modules/puppetlabs-apt.git] / .github / workflows / auto_release.yml
1 name: "Auto release"
2
3 on:
4   schedule:
5     - cron: '0 3 * * 6'
6   workflow_dispatch:
7
8 env:
9   HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6 
10   HONEYCOMB_DATASET: litmus tests
11   CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
12
13 jobs:
14   auto_release:
15     name: "Automatic release prep"
16     runs-on: ubuntu-20.04
17
18     steps:
19     - name: "Honeycomb: Start recording"
20       uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
21       with:
22         apikey: ${{ env.HONEYCOMB_WRITEKEY }}
23         dataset: ${{ env.HONEYCOMB_DATASET }}
24         job-status: ${{ job.status }}
25
26     - name: "Honeycomb: start first step"
27       run: |
28         echo STEP_ID="auto-release" >> $GITHUB_ENV
29         echo STEP_START=$(date +%s) >> $GITHUB_ENV
30
31     - name: "Checkout Source"
32       if: ${{ github.repository_owner == 'puppetlabs' }}
33       uses: actions/checkout@v2
34       with:
35         fetch-depth: 0
36         persist-credentials: false
37
38     - name: "PDK Release prep"
39       uses: docker://puppet/iac_release:ci
40       with:
41         args: 'release prep --force'
42       env:
43         CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44
45     - name: "Get Version"
46       if: ${{ github.repository_owner == 'puppetlabs' }}
47       id: gv
48       run: |
49         echo "::set-output name=ver::$(cat metadata.json | jq .version | tr -d \")"
50
51     - name: "Commit changes"
52       if: ${{ github.repository_owner == 'puppetlabs' }}
53       run: |
54         git config --local user.email "action@github.com"
55         git config --local user.name "GitHub Action"
56         git add .
57         git commit -m "Release prep v${{ steps.gv.outputs.ver }}"
58
59     - name: Create Pull Request
60       id: cpr
61       uses: puppetlabs/peter-evans-create-pull-request@v3
62       if: ${{ github.repository_owner == 'puppetlabs' }}
63       with:
64         token: ${{ secrets.GITHUB_TOKEN }}
65         commit-message: "Release prep v${{ steps.gv.outputs.ver }}"
66         branch: "release-prep"
67         delete-branch: true
68         title: "Release prep v${{ steps.gv.outputs.ver }}"
69         body: "Automated release-prep through [pdk-templates](https://github.com/puppetlabs/pdk-templates/blob/main/moduleroot/.github/workflows/auto_release.yml.erb)"
70         labels: "maintenance"
71
72     - name: PR outputs
73       if: ${{ github.repository_owner == 'puppetlabs' }}
74       run: |
75         echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
76         echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
77
78     - name: "Honeycomb: Record finish step"
79       if: ${{ always() }}
80       run: |
81         buildevents step $TRACE_ID $STEP_ID $STEP_START 'Finished auto release workflow'