Skip to content

Commit 1c11691

Browse files
committed
feat: add mark-as-release
1 parent bb0391d commit 1c11691

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

.github/workflows/test-register.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,51 @@ jobs:
125125
echo "Error: registration existing workflow did not fail with 'already-registered-do-not-fail: false'";
126126
exit 1;
127127
fi
128+
129+
# Tests register with mark-as-release
130+
- name: update wf version
131+
run: echo "$(git rev-parse HEAD)-1" > ./tests/test-setup-latch-register/version
132+
- id: register-with-mark-as-release
133+
name: test register with mark-as-release
134+
uses: ./
135+
with:
136+
register: true
137+
latch-workspace: ${{ secrets.LATCH_WORKSPACE }}
138+
latch-token: ${{ secrets.LATCH_TOKEN }}
139+
register-pkg-root: ./tests/test-setup-latch-register
140+
already-registered-do-not-fail: true
141+
mark-as-release: true
142+
- name: Print outputs
143+
shell: bash
144+
run: |
145+
echo latch-version: ${{ steps.register-with-mark-as-release.outputs.latch-version }}
146+
echo register-version: ${{ steps.register-with-mark-as-release.outputs.register-version }}
147+
echo already-registered: ${{ steps.register-with-mark-as-release.outputs.already-registered }}
148+
- name: check success
149+
shell: bash
150+
run: |
151+
if [[ "${{ steps.register-with-mark-as-release.outcome }}" == "failure" ]]; then
152+
echo "Error: workflow failed";
153+
exit 1;
154+
fi
155+
rm -v tests/test-setup-latch-register/.latch/Dockerfile
156+
157+
# Tests mark-as-release without register should fail
158+
- name: update wf version
159+
run: echo "$(git rev-parse HEAD)-1" > ./tests/test-setup-latch-register/version
160+
- id: mark-as-release-without-register
161+
name: test mark-as-release without register should fail
162+
already-registered-do-not-fail: true
163+
continue-on-error: true
164+
uses: ./
165+
with:
166+
latch-workspace: ${{ secrets.LATCH_WORKSPACE }}
167+
latch-token: ${{ secrets.LATCH_TOKEN }}
168+
register-pkg-root: ./tests/test-setup-latch-register
169+
mark-as-release: true
170+
- name: check mark-as-release without register failure
171+
run: |
172+
if [[ "${{ steps.mark-as-release-without-register.outcome }}" != "failure" ]]; then
173+
echo "Error: mark-as-release without register did not fail'";
174+
exit 1;
175+
fi

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@ jobs:
127127
# Whether the workflow should fail if the worfklow is already registered.
128128
# Default: false
129129
already-registered-do-not-fail: ''
130+
131+
# Whether to mark the registered workflow as a release (must set `register` to
132+
# 'true').
133+
# Default: false
134+
mark-as-released: ''
130135
```
131136
132137
### Outputs

action.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ inputs:
4343
description: "Whether the workflow should fail if the worfklow is already registered."
4444
required: false
4545
default: false
46+
mark-as-released:
47+
description: "Whether to mark the registered workflow as a release (must set `register` to 'true')."
48+
required: false
49+
default: false
4650

4751
outputs:
4852
latch-version:
@@ -62,6 +66,13 @@ runs:
6266
shell: bash
6367
run: |
6468
cat ${GITHUB_ACTION_PATH}/banner.txt
69+
- id: check-mark-as-released
70+
name: Check register and mark-as-released
71+
if: ${{ !inputs.register && inputs.mark-as-released }}
72+
shell: bash
73+
run:
74+
echo "`register` must be `true` when mark-as-released is `true`"
75+
exit 1;
6576
- id: setup-ssh-config
6677
name: Setup SSH Config
6778
if: ${{ inputs.ssh-config == 'true' }}
@@ -131,6 +142,9 @@ runs:
131142
if [ "${{ inputs.register-register-disable-auto-version }}" == "true" ]; then
132143
args="--register-disable-auto-version ${args}"
133144
fi
145+
if [ "${{ inputs.mark-as-released }}" == "true" ]; then
146+
args="--mark-as-released ${args}"
147+
fi
134148
latch register --yes ${args} 2>&1 | tee register.log
135149
# save registered version; this may not occur if the above register fails
136150
register_version=$(grep "Registering" register.log | tail -1 | awk '{print $NF}' | cut -f 2 -d ':')

0 commit comments

Comments
 (0)