Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 5 additions & 16 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,33 +19,22 @@ jobs:
egress-policy: audit

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

- name: build dependency updater
run: cd dependency_updater && go build

- name: run dependency updater
id: run_dependency_updater
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: cd dependency_updater && ./dependency_updater --repo ../ --github-action true

- name: load commit message/title .env file
if: ${{ hashFiles('commit_message.env') != '' }}
uses: aarcangeli/load-dotenv@2afd907c7bb1c0324d22a6192693213867e77443 # v1.1.0
with:
filenames: 'commit_message.env'

- name: remove commit message .env
if: ${{ hashFiles('commit_message.env') != '' }}
run: rm commit_message.env

- name: create pull request
if: ${{ env.TITLE != '' }}
if: ${{ steps.run_dependency_updater.outputs.TITLE != '' }}
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
title: ${{ env.TITLE }}
commit-message: ${{ env.TITLE }}
body: ${{ env.DESC }}
title: ${{ steps.run_dependency_updater.outputs.TITLE }}
commit-message: ${{ steps.run_dependency_updater.outputs.TITLE }}
body: ${{ steps.run_dependency_updater.outputs.DESC }}
branch: run-dependency-updater
delete-branch: true
31 changes: 24 additions & 7 deletions dependency_updater/dependency_updater.go
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ func getAndUpdateDependency(ctx context.Context, client *github.Client, dependen
if err != nil {
return VersionUpdateInfo{}, err
}
if updatedDependency != (VersionUpdateInfo{}) || dependencies[dependencyType].Tracking == "branch" {
if updatedDependency != (VersionUpdateInfo{}) {
e := updateVersionTagAndCommit(commit, version, dependencyType, repoPath, dependencies)
if e != nil {
return VersionUpdateInfo{}, fmt.Errorf("error updating version tag and commit: %s", e)
Expand Down Expand Up @@ -256,6 +256,15 @@ func getVersionAndCommit(ctx context.Context, client *github.Client, dependencie
return "", "", VersionUpdateInfo{}, fmt.Errorf("error listing commits for "+dependencyType+": %s", err)
}
commit = *branchCommit[0].SHA
if dependencies[dependencyType].Commit != commit {
diff := dependencies[dependencyType].Commit + " => " + commit
updatedDependency = VersionUpdateInfo{
dependencies[dependencyType].Repo,
dependencies[dependencyType].Tag,
commit,
diff,
}
}
}

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

func createGitMessageEnv(title string, description string, repoPath string) error {
file, err := os.Create(repoPath + "/commit_message.env")
file := os.Getenv("GITHUB_OUTPUT")
f, err := os.OpenFile(file, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return fmt.Errorf("error creating commit_message.env file: %s", err)
return fmt.Errorf("error failed to open GITHUB_OUTPUT file: %s", err)
}
defer file.Close()
defer f.Close()

envString := "export TITLE=" + title + "\nexport DESC=" + description
_, err = file.WriteString(envString)
titleToWrite := fmt.Sprintf("%s=%s\n", "TITLE", title)
_, err = f.WriteString(titleToWrite)
if err != nil {
return fmt.Errorf("error writing to commit_message.env file: %s", err)
return fmt.Errorf("error failed to write to GITHUB_OUTPUT file: %s", err)
}

descToWrite := fmt.Sprintf("%s=%s\n", "DESC", description)
_, err = f.WriteString(descToWrite)
if err != nil {
return fmt.Errorf("error failed to write to GITHUB_OUTPUT file: %s", err)
}

return nil
}

Expand Down