Skip to content

Commit d96045b

Browse files
authored
Dependency Updater: change workflow to use GITHUB_OUTPUT instead of env (#516)
* change workflow to use GITHUB_OUTPUT instead of env * rollback version for testing * trigger workflow run * remove ref checkout * fix write to github_output * remove commit_message.env deletion * trigger workflow run * add diff for branch tracking * revert versions.json
1 parent 5e8ef57 commit d96045b

File tree

2 files changed

+29
-23
lines changed

2 files changed

+29
-23
lines changed

.github/workflows/update-dependencies.yml

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,33 +19,22 @@ jobs:
1919
egress-policy: audit
2020

2121
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22-
with:
23-
ref: main
2422

2523
- name: build dependency updater
2624
run: cd dependency_updater && go build
2725

2826
- name: run dependency updater
27+
id: run_dependency_updater
2928
env:
3029
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3130
run: cd dependency_updater && ./dependency_updater --repo ../ --github-action true
3231

33-
- name: load commit message/title .env file
34-
if: ${{ hashFiles('commit_message.env') != '' }}
35-
uses: aarcangeli/load-dotenv@2afd907c7bb1c0324d22a6192693213867e77443 # v1.1.0
36-
with:
37-
filenames: 'commit_message.env'
38-
39-
- name: remove commit message .env
40-
if: ${{ hashFiles('commit_message.env') != '' }}
41-
run: rm commit_message.env
42-
4332
- name: create pull request
44-
if: ${{ env.TITLE != '' }}
33+
if: ${{ steps.run_dependency_updater.outputs.TITLE != '' }}
4534
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
4635
with:
47-
title: ${{ env.TITLE }}
48-
commit-message: ${{ env.TITLE }}
49-
body: ${{ env.DESC }}
36+
title: ${{ steps.run_dependency_updater.outputs.TITLE }}
37+
commit-message: ${{ steps.run_dependency_updater.outputs.TITLE }}
38+
body: ${{ steps.run_dependency_updater.outputs.DESC }}
5039
branch: run-dependency-updater
5140
delete-branch: true

dependency_updater/dependency_updater.go

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ func getAndUpdateDependency(ctx context.Context, client *github.Client, dependen
164164
if err != nil {
165165
return VersionUpdateInfo{}, err
166166
}
167-
if updatedDependency != (VersionUpdateInfo{}) || dependencies[dependencyType].Tracking == "branch" {
167+
if updatedDependency != (VersionUpdateInfo{}) {
168168
e := updateVersionTagAndCommit(commit, version, dependencyType, repoPath, dependencies)
169169
if e != nil {
170170
return VersionUpdateInfo{}, fmt.Errorf("error updating version tag and commit: %s", e)
@@ -256,6 +256,15 @@ func getVersionAndCommit(ctx context.Context, client *github.Client, dependencie
256256
return "", "", VersionUpdateInfo{}, fmt.Errorf("error listing commits for "+dependencyType+": %s", err)
257257
}
258258
commit = *branchCommit[0].SHA
259+
if dependencies[dependencyType].Commit != commit {
260+
diff := dependencies[dependencyType].Commit + " => " + commit
261+
updatedDependency = VersionUpdateInfo{
262+
dependencies[dependencyType].Repo,
263+
dependencies[dependencyType].Tag,
264+
commit,
265+
diff,
266+
}
267+
}
259268
}
260269

261270
if version != nil {
@@ -332,17 +341,25 @@ func createVersionsEnv(repoPath string, dependencies Dependencies) error {
332341
}
333342

334343
func createGitMessageEnv(title string, description string, repoPath string) error {
335-
file, err := os.Create(repoPath + "/commit_message.env")
344+
file := os.Getenv("GITHUB_OUTPUT")
345+
f, err := os.OpenFile(file, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
336346
if err != nil {
337-
return fmt.Errorf("error creating commit_message.env file: %s", err)
347+
return fmt.Errorf("error failed to open GITHUB_OUTPUT file: %s", err)
338348
}
339-
defer file.Close()
349+
defer f.Close()
340350

341-
envString := "export TITLE=" + title + "\nexport DESC=" + description
342-
_, err = file.WriteString(envString)
351+
titleToWrite := fmt.Sprintf("%s=%s\n", "TITLE", title)
352+
_, err = f.WriteString(titleToWrite)
343353
if err != nil {
344-
return fmt.Errorf("error writing to commit_message.env file: %s", err)
354+
return fmt.Errorf("error failed to write to GITHUB_OUTPUT file: %s", err)
345355
}
356+
357+
descToWrite := fmt.Sprintf("%s=%s\n", "DESC", description)
358+
_, err = f.WriteString(descToWrite)
359+
if err != nil {
360+
return fmt.Errorf("error failed to write to GITHUB_OUTPUT file: %s", err)
361+
}
362+
346363
return nil
347364
}
348365

0 commit comments

Comments
 (0)