diff --git a/.github/workflows/_reusable_build_package.yml b/.github/workflows/_reusable_build_package.yml index 6c962468..72eec2df 100644 --- a/.github/workflows/_reusable_build_package.yml +++ b/.github/workflows/_reusable_build_package.yml @@ -53,6 +53,8 @@ on: required: false microsoft_description: required: false + gh_ci_token: + required: true defaults: run: @@ -81,6 +83,7 @@ jobs: if: runner.os == 'macOS' env: PRODUCTBUILD_IDENTITY_NAME: ${{ secrets.productbuild_identity_name }} + GH_CI_TOKEN: ${{ secrets.GH_CI_TOKEN }} run: | if [ -n "${PRODUCTBUILD_IDENTITY_NAME}" ]; then echo "MACOS_SIGNING_ENABLED=true" >> $GITHUB_ENV diff --git a/.github/workflows/build_packages.yml b/.github/workflows/build_packages.yml index 7205b2bf..031a6b58 100644 --- a/.github/workflows/build_packages.yml +++ b/.github/workflows/build_packages.yml @@ -147,6 +147,7 @@ jobs: microsoft_certhash: ${{ secrets.MICROSOFT_CERTHASH }} microsoft_certname: ${{ secrets.MICROSOFT_CERTNAME }} microsoft_description: ${{ secrets.MICROSOFT_DESCRIPTION }} + gh_ci_token: ${{ secrets.GH_CI_TOKEN }} strategy: matrix: diff --git a/.github/workflows/test-install-script.yml b/.github/workflows/test-install-script.yml index ca65570f..f53f1502 100644 --- a/.github/workflows/test-install-script.yml +++ b/.github/workflows/test-install-script.yml @@ -31,6 +31,10 @@ jobs: install-script/**/* .github/** + - name: Set up environment variables + env: + GITHUB_TOKEN: ${{ secrets.GH_CI_TOKEN }} + - name: Setup go if: steps.changed-files.outputs.any_changed == 'true' uses: WillAbides/setup-go-faster@v1 @@ -40,4 +44,4 @@ jobs: - name: Run install script tests if: steps.changed-files.outputs.any_changed == 'true' working-directory: install-script/test - run: make test + run: make test --token $GITHUB_TOKEN diff --git a/install-script/test/consts_common.go b/install-script/test/consts_common.go index 641997fa..f1c64e4e 100644 --- a/install-script/test/consts_common.go +++ b/install-script/test/consts_common.go @@ -3,6 +3,7 @@ package sumologic_scripts_tests import ( "encoding/json" "fmt" + "log" "net/http" "net/url" "os" @@ -18,18 +19,36 @@ var ( latestAppVersion string ) +func authenticateGithub() string { + githubToken := os.Getenv("GH_CI_TOKEN") + if githubToken == "" { + log.Fatal("GITHUB_TOKEN environment variable not set") + + } + return githubToken +} + func getLatestAppReleaseVersion() (string, error) { githubApiBaseUrl, err := url.Parse(GithubApiBaseUrl) if err != nil { return "", err } - githubApiLatestReleaseUrl := githubApiBaseUrl.JoinPath( - "repos", - GithubOrg, - GithubAppRepository, - "releases", - "latest") - response, err := http.Get(githubApiLatestReleaseUrl.String()) //nolint:noctx + githubToken := authenticateGithub() + + githubApiLatestReleaseUrl := fmt.Sprintf("%s/repos/%s/%s/releases/latest", githubApiBaseUrl, GithubOrg, GithubAppRepository) + + req, err := http.NewRequest("GET", githubApiLatestReleaseUrl, nil) + if err != nil { + return "", err + } + + // Set Authorization header with GitHub token + req.Header.Set("Authorization", "token "+githubToken) + req.Header.Set("Accept", "application/vnd.github.v3+json") + + // Send request + client := http.Client{} + response, err := client.Do(req) if err != nil { return "", err }