generated from wishingtreedev/samara
-
Notifications
You must be signed in to change notification settings - Fork 0
95 lines (82 loc) · 2.79 KB
/
updates.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
87
88
89
90
91
92
93
94
95
name: Dependency Updates
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
update:
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup coursier cache
uses: coursier/[email protected]
- name: Setup Scala CLI
uses: VirtusLab/[email protected]
- name: Check if branch exists on remote
id: branch-check
run: |
if git ls-remote --exit-code --heads origin dependency-update; then
echo "branch_exists=true" >> $GITHUB_ENV
else
echo "branch_exists=false" >> $GITHUB_ENV
fi
- name: Track or create branch
run: |
if [ "${{ env.branch_exists }}" = "true" ]; then
git fetch origin dependency-update:dependency-update
git checkout dependency-update
else
git checkout -b dependency-update
fi
- name: Update dependencies
id: update-deps
run: |
scala-cli --power dependency-update src --all
git config --global user.name "Mark Rudolph"
git config --global user.email "[email protected]"
if git commit -am "Update dependencies"; then
echo "changes_exists=true" >> $GITHUB_ENV
else
echo "changes_exists=false" >> $GITHUB_ENV
fi
- name: Push changes
if: env.changes_exists == 'true'
run: |
git push -u origin dependency-update
- name: Create a Pull Request
if: env.changes_exists == 'true'
run: |
gh pr create \
--title "Dependency Updates" \
--body "Dependency updates from scala-cli" \
--head dependency-update \
--base main || echo "Pull request already exists or no changes to push"
- name: Set up Docker
if: env.changes_exists == 'true' && false
uses: docker/setup-buildx-action@v3
- name: PR Tests
if: env.changes_exists == 'true'
run: |
if scala-cli --power test src; then
echo "tests_passed=true" >> $GITHUB_ENV
else
echo "tests_passed=true" >> $GITHUB_ENV
fi
- name: Merge PR
if: env.tests_passed == 'true'
run: |
gh pr comment --body "PR tests passed! Auto merging..."
gh pr merge --squash --delete-branch --body "Auto-merged dependency updates"
- name: Close PR
if: env.changes_exists == 'true' && env.tests_passed == 'false'
run: |
gh pr comment --body "PR tests failed :cry: Closing PR..."
gh pr close --delete-branch --body "PR tests failed"