-
Notifications
You must be signed in to change notification settings - Fork 7
72 lines (63 loc) · 2.38 KB
/
release-postman.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Postman Release
on:
schedule:
- cron: '0 10 ? * *'
workflow_dispatch:
permissions:
issues: write
jobs:
release-postman:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
## Will be removed after CLOUDP-263207
- name: Fetch Collection
working-directory: ./tools/postman
run: |
make fetch_openapi
- name: Compute checksum for current OpenAPI Specification
working-directory: ./tools/postman/openapi
run: |
checksum=$(sha256sum atlas-api.json | cut -d ' ' -f 1)
echo "checksum=$checksum" >> "$GITHUB_ENV"
- name: Check if checksum is saved in the cache
id: check-cache
uses: actions/cache/restore@v4
with:
path: ./tools/postman/openapi/openapi-checksum.txt
key: postman-openapi-${{ env.checksum }}
- name: Convert the OpenAPI Specification into Collection
if: steps.check-cache.outputs.cache-hit != 'true'
id: convert
working-directory: ./tools/postman
run: |
make convert_to_collection
- name: Create Issue
if: ${{ failure() && steps.convert.outcome == 'failure' }}
uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd
with:
labels: failed-release
title: "Postman Release: `make convert_to_collection` command failed :scream_cat:"
body: See https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Collection to Postman
if: steps.check-cache.outputs.cache-hit != 'true'
env:
BASE_URL: ${{ vars.ATLAS_PROD_BASE_URL }}
POSTMAN_API_KEY: ${{ secrets.POSTMAN_API_KEY }}
WORKSPACE_ID: ${{ secrets.WORKSPACE_ID }}
working-directory: ./tools/postman
run: |
make upload_collection
- name: Save new checksum to file
if: steps.check-cache.outputs.cache-hit != 'true'
working-directory: ./tools/postman/openapi
run: |
echo "${{ env.checksum }}" > openapi-checksum.txt
- name: Cache new checksum file
if: steps.check-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: ./tools/postman/openapi/openapi-checksum.txt
key: postman-openapi-${{ env.checksum }}