Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Nomad
Commits
078a641e
Unverified
Commit
078a641e
authored
3 years ago
by
Claire Labry
Browse files
Options
Download
Email Patches
Plain Diff
prepare for draft PR
parent
75144f8c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.github/workflows/nightly-release.yml
+80
-78
.github/workflows/nightly-release.yml
with
80 additions
and
78 deletions
+80
-78
.github/workflows/nightly-release.yml
+
80
-
78
View file @
078a641e
...
...
@@ -7,7 +7,8 @@
name
:
Nightly Release
on
:
push
:
# TODO: remove the push event before merging this PR; this is for testing purposes
# push:
schedule
:
# Runs against the default branch every day at midnight
-
cron
:
"
0
0
*
*
*"
...
...
@@ -16,6 +17,7 @@ on:
jobs
:
# Build a fresh set of artifacts
build-artifacts
:
# TODO: change branch from add-nightlies to main before merging this PR
uses
:
hashicorp/nomad/.github/workflows/build.yml@add-nightlies
github-release
:
needs
:
build-artifacts
...
...
@@ -28,83 +30,83 @@ jobs:
path
:
out/
# Set BUILD_OUTPUT_LIST to out\<project>-<version>.<fileext>\*,out\...
# This is needed to attach the build artifacts to the GitHub Release
#
- name: Set BUILD_OUTPUT_LIST
#
run: |
#
echo "$(ls -xm1 out/)" > tmp.txt
#
cat tmp.txt | sed 's:.*:out/&/*:' > tmp2.txt
#
echo "BUILD_OUTPUT_LIST=$(cat tmp2.txt | tr '\n' ',' | perl -ple 'chop')" >> $GITHUB_ENV
#
rm -rf tmp.txt && rm -rf tmp2.txt
#
- name: Advance nightly tag
#
uses: actions/github-script@v3
#
with:
#
github-token: ${{ secrets.GITHUB_TOKEN }}
#
script: |
#
try {
#
await github.git.deleteRef({
#
owner: context.repo.owner,
#
repo: context.repo.repo,
#
ref: "tags/nightly"
#
})
#
} catch (e) {
#
console.log("Warning: The nightly tag doesn't exist yet, so there's nothing to do. Trace: " + e)
#
}
#
await github.git.createRef({
#
owner: context.repo.owner,
#
repo: context.repo.repo,
#
ref: "refs/tags/nightly",
#
sha: context.sha
#
})
-
name
:
Set BUILD_OUTPUT_LIST
run
:
|
echo "$(ls -xm1 out/)" > tmp.txt
cat tmp.txt | sed 's:.*:out/&/*:' > tmp2.txt
echo "BUILD_OUTPUT_LIST=$(cat tmp2.txt | tr '\n' ',' | perl -ple 'chop')" >> $GITHUB_ENV
rm -rf tmp.txt && rm -rf tmp2.txt
-
name
:
Advance nightly tag
uses
:
actions/github-script@v3
with
:
github-token
:
${{ secrets.GITHUB_TOKEN }}
script
:
|
try {
await github.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: "tags/nightly"
})
} catch (e) {
console.log("Warning: The nightly tag doesn't exist yet, so there's nothing to do. Trace: " + e)
}
await github.git.createRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: "refs/tags/nightly",
sha: context.sha
})
# This will create a new GitHub Release called `nightly`
# If a release with this name already exists, it will overwrite the existing data
#
- name: Create a nightly GitHub prerelease
#
id: create_prerelease
#
uses: ncipollo/release-action@v1
#
with:
#
name: nightly
#
artifacts: "${{ env.BUILD_OUTPUT_LIST }}"
#
tag: nightly
#
bodyFile: ".github/workflows/nightly-release-readme.md"
#
prerelease: true
#
allowUpdates: true
#
removeArtifacts: true
#
draft: false
#
token: ${{ secrets.GITHUB_TOKEN }}
#
- name: Publish nightly GitHub prerelease
#
uses: eregon/publish-release@v1
#
env:
#
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#
with:
#
release_id: ${{ steps.create_prerelease.outputs.id }}
-
name
:
Create a nightly GitHub prerelease
id
:
create_prerelease
uses
:
ncipollo/release-action@v1
with
:
name
:
nightly
artifacts
:
"
${{
env.BUILD_OUTPUT_LIST
}}"
tag
:
nightly
bodyFile
:
"
.github/workflows/nightly-release-readme.md"
prerelease
:
true
allowUpdates
:
true
removeArtifacts
:
true
draft
:
false
token
:
${{ secrets.GITHUB_TOKEN }}
-
name
:
Publish nightly GitHub prerelease
uses
:
eregon/publish-release@v1
env
:
GITHUB_TOKEN
:
${{ secrets.GITHUB_TOKEN }}
with
:
release_id
:
${{ steps.create_prerelease.outputs.id }}
# # Send a slack notification if either job defined above fails
#
slack-notify:
#
needs:
#
- build-artifacts
#
- github-release
#
if: always() && (needs.build-artifacts.result == 'failure' || needs.github-release.result == 'failure')
#
runs-on: ubuntu-latest
#
steps:
#
- name: Send slack notification on failure
#
uses: slackapi/slack-github-action@v1.18.0
#
with:
#
payload: |
#
{
#
"text": ":alert: Nomad Nightly Release *FAILED* :alert:",
#
"attachments": [
#
{
#
"color": "#C41E3A",
#
"blocks": [
#
{
#
"type": "section",
#
"text": {
#
"type": "mrkdwn",
#
"text": "Branch: `${{ github.ref_name }}`\nRef: ${{ github.sha }}\nWorkflow: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
#
}
#
}
#
]
#
}
#
]
#
}
#
env:
#
# the slack webhook url links to #feed-nomad-releases
#
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
#
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
slack-notify
:
needs
:
-
build-artifacts
-
github-release
if
:
always() && (needs.build-artifacts.result == 'failure' || needs.github-release.result == 'failure')
runs-on
:
ubuntu-latest
steps
:
-
name
:
Send slack notification on failure
uses
:
slackapi/slack-github-action@v1.18.0
with
:
payload
:
|
{
"text": ":alert: Nomad Nightly Release *FAILED* :alert:",
"attachments": [
{
"color": "#C41E3A",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Branch: `${{ github.ref_name }}`\nRef: ${{ github.sha }}\nWorkflow: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
}
}
]
}
]
}
env
:
# the slack webhook url links to #feed-nomad-releases
SLACK_WEBHOOK_URL
:
${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE
:
INCOMING_WEBHOOK
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help