-
Notifications
You must be signed in to change notification settings - Fork 30
86 lines (80 loc) · 4.48 KB
/
fork.yaml
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: bump firecracker
on:
workflow_dispatch: {}
schedule:
- cron: 0 0 * * 1
jobs:
update:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
ssh-key: ${{ secrets.LIQUIDMETALBOT_TOKEN }}
fetch-depth: 0
- name: Bump firecracker?
run: |
new_version=$(./hack/scripts/bump_firecracker.sh)
if [[ "$new_version" == "" ]]; then
echo "No new Firecracker release. Nothing to do. (this is not an error, no worries.)"
fi
echo 'NEW_VERSION<<EOF' >> $GITHUB_ENV
echo "${new_version}" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: Create Issue
if: ${{ env.NEW_VERSION != '' }}
uses: imjohnbo/issue-bot@572eed14422c4d6ca37e870f97e7da209422f5bd # v3
id: issue
with:
title: "Bump firecracker version to ${{ env.NEW_VERSION }}"
pinned: false
close-previous: true
assignees: "Callisto13, yitsushi, Skarlso"
rotate-assignees: true
body: |-
This is an automatically generated Issue to release a new version of
Firecracker on our fork.
There are some manual steps to get new releases of our fork
branch published.
This Issue is to track those manual steps.
**Note that for now we are mirroring firecracker's releases of v1.1.x, v1.2.x and v1.3.x versions**.
To complete work on this Issue:
- [ ] Clone [our fork](https://github.com/liquidmetal-dev/firecracker) (if you do not have it already).
- [ ] Add the upstream as a remote: `git add remote up https://github.com/firecracker-microvm/firecracker`
- [ ] Fetch all branches and tags: `git fetch && git fetch --tags`
- [ ] Check out to the relevant `macvtap` version branch. `feature/macvtap` for a new `v1.2.x` release, `feature/macvtapv11x` for a new `v1.1.x` release.
- [ ] Update the feature branch. `git rebase firecracker-v1.3` for a `v1.3.x` release `git rebase firecracker-v1.2` for a `v1.2.x` release, etc. etc.
- [ ] Resolve any merge conflicts if necessary. (There will be merge conflicts.)
- [ ] Add any code if necessary. (This will gradually become more necessary, because the older this feature branch gets, the more the code around it upstream will change.)
- [ ] Make sure it builds. (`tools/devtool build`)
- [ ] Push the updated firecracker 'feature/macvtap' (or `firecracker/macvtapv12`, etc) fork branch.
- [ ] Create a new tag on the updated firecracker fork branch: `git tag -s ${{ env.NEW_VERSION}}-macvtap -m ${{ env.NEW_VERSION }}-macvtap`.
- [ ] Push the tag to the fork: `git push <remote> ${{ env.NEW_VERSION }}-macvtap` (A new [release](https://github.com/liquidmetal-dev/firecracker/releases) will be created.)
- [ ] In this repo, trigger the `nightly_e2e` workflow
- [ ] Once the tests have passed you can close the Issue, if the tests fail, either fix them or unrelease the version
Auto-generated by [issue-bot](https://github.com/imjohnbo/issue-bot).
labels: "area/firecracker, area/dependency, kind/feature, priority/critical-urgent"
- name: Notify slack on creation success
if: ${{ success() && env.NEW_VERSION != '' }}
uses: actions-ecosystem/action-slack-notifier@fc778468d09c43a6f4d1b8cccaca59766656996a # v1.1.0
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
message: "There is a new version of Firecracker, complete the todo list here: <https://github.com/liquidmetal-dev/flintlock/issues/${{ steps.issue.outputs.issue-number }}|#${{ steps.issue.outputs.issue-number }}>."
channel: liquid-metal-dev
color: green
verbose: false
notify:
needs: [update]
if: ${{ failure() }}
runs-on: ubuntu-latest
steps:
- name: Notify slack on failure
uses: actions-ecosystem/action-slack-notifier@fc778468d09c43a6f4d1b8cccaca59766656996a # v1.1.0
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
message: "There is a new firecracker version, but the 'Bump Firecracker' issue failed :sad-parrot: <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|Click here>."
channel: liquid-metal-dev
color: red
verbose: false