-
Notifications
You must be signed in to change notification settings - Fork 208
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Sarah Christoff <28318173+schristoff@users.noreply.github.com>
- Loading branch information
1 parent
4d2a6e5
commit 18dbfa3
Showing
7 changed files
with
335 additions
and
3 deletions.
There are no files selected for viewing
207 changes: 207 additions & 0 deletions
207
.github/workflows/build_azure_pipelinesrelease_template.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
# Environment variables defined in a calling workflow are not accessible to this reusable workflow. Refer to the documentation for further details on this limitation. | ||
name: build_azure_pipelinesrelease_template | ||
on: | ||
workflow_call: | ||
inputs: | ||
goVersion: | ||
required: false | ||
default: 1.20.7 | ||
type: string | ||
registry: | ||
required: false | ||
default: ghcr.io/getporter/test | ||
type: string | ||
shouldPublish: | ||
required: false | ||
default: false | ||
type: boolean | ||
skipTests: | ||
required: false | ||
default: false | ||
type: boolean | ||
jobs: | ||
Validate-build: | ||
name: Native Compile | ||
runs-on: "{{ vars.}}" | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Configure Agent | ||
run: go run mage.go ConfigureAgent | ||
- name: Native Build | ||
run: mage build | ||
shell: bash | ||
- name: Publish Native Binaries | ||
uses: actions/upload-artifact@v4.0.0 | ||
with: | ||
name: build-bin | ||
path: "${{ github.workspace }}/bin" | ||
Validate-xbuild: | ||
name: Cross Compile | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Configure Agent | ||
run: go run mage.go ConfigureAgent | ||
- name: Cross Compile | ||
run: mage XBuildAll | ||
shell: bash | ||
- name: Publish Release Binaries | ||
uses: actions/upload-artifact@v4.0.0 | ||
with: | ||
name: xbuild-bin | ||
path: "${{ github.workspace }}/bin" | ||
Validate-VetLint: | ||
name: Vet and Lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Configure Agent | ||
run: go run mage.go ConfigureAgent | ||
- name: Vet | ||
run: mage Vet | ||
shell: bash | ||
- name: Lint | ||
run: mage Lint | ||
shell: bash | ||
Validate-unit_test: | ||
name: Unit Test | ||
runs-on: ubuntu-latest | ||
if: !(inputs.skipTests) | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Configure Agent | ||
run: go run mage.go ConfigureAgent | ||
- name: Unit Test | ||
run: mage TestUnit | ||
shell: bash | ||
Validate-integration_test: | ||
env: | ||
GHCR_IOGETPORTER_DOCKER_REGISTRY: https://ghcr.io | ||
GHCR_IOGETPORTER_DOCKER_USERNAME: getporterbot | ||
name: Integration Test | ||
needs: | ||
- Validate-build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Download Bin | ||
uses: actions/download-artifact@v4.1.0 | ||
with: | ||
name: build-bin | ||
path: bin | ||
- name: Docker Login | ||
uses: docker/login-action@v3.0.0 | ||
with: | ||
registry: "${{ env.GHCR_IOGETPORTER_DOCKER_REGISTRY }}" | ||
username: "${{ env.GHCR_IOGETPORTER_DOCKER_USERNAME }}" | ||
password: "${{ secrets.GHCR_IOGETPORTER_DOCKER_PASSWORD }}" | ||
- name: Configure Agent | ||
run: go run mage.go ConfigureAgent SetBinExecutable | ||
- name: Integration Test | ||
run: mage -v TestIntegration | ||
Validate-smoke_test: | ||
name: Run smoke tests on | ||
needs: | ||
- Validate-xbuild | ||
runs-on: | ||
- self-hosted | ||
if: success() && !(inputs.skipTests) | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Download Cross-Compiled Porter Binaries | ||
uses: actions/download-artifact@v4.1.0 | ||
with: | ||
name: xbuild-bin | ||
path: bin | ||
- name: Setup Bin | ||
run: go run mage.go ConfigureAgent UseXBuildBinaries | ||
- name: Run Smoke Tests | ||
run: mage -v TestSmoke | ||
Publish-publish_binaries: | ||
name: Publish Binaries | ||
needs: | ||
- Validate-build | ||
- Validate-xbuild | ||
- Validate-VetLint | ||
- Validate-unit_test | ||
- Validate-integration_test | ||
- Validate-smoke_test | ||
runs-on: ubuntu-latest | ||
if: success() && inputs.shouldPublish | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Download Cross-Compiled Porter Binaries | ||
uses: actions/download-artifact@v4.1.0 | ||
with: | ||
name: xbuild-bin | ||
path: bin | ||
- name: Setup Bin | ||
run: go run mage.go ConfigureAgent UseXBuildBinaries | ||
- name: Publish Porter Binaries | ||
env: | ||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
run: mage PublishPorter PublishMixins | ||
Publish-publish_docker: | ||
env: | ||
DOCKER_REGISTRY: | ||
DOCKER_USERNAME: | ||
name: Publish Docker Images | ||
needs: | ||
- Validate-build | ||
- Validate-xbuild | ||
- Validate-VetLint | ||
- Validate-unit_test | ||
- Validate-integration_test | ||
- Validate-smoke_test | ||
runs-on: ubuntu-latest | ||
if: success() && inputs.shouldPublish | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version: "${{ inputs.GOVERSION }}" | ||
- name: Download Cross-Compiled Porter Binaries | ||
uses: actions/download-artifact@v4.1.0 | ||
with: | ||
name: xbuild-bin | ||
path: bin | ||
- name: Setup Bin | ||
run: go run mage.go ConfigureAgent UseXBuildBinaries | ||
# Unable to determine registry '${{parameters.registry}}' type. The service connection was not found or the authentication type not supported. | ||
- name: Docker Login | ||
uses: docker/login-action@v3.0.0 | ||
with: | ||
registry: "${{ env.DOCKER_REGISTRY }}" | ||
username: "${{ env.DOCKER_USERNAME }}" | ||
password: "${{ secrets.DOCKER_PASSWORD }}" | ||
- name: Publish Docker Images to ${{inputs.registry}} | ||
run: PORTER_REGISTRY=${{inputs.registry}} mage PublishImages |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: porter/porter-canary | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
shouldPublish: | ||
default: true | ||
type: boolean | ||
required: false | ||
skipTests: | ||
default: false | ||
type: boolean | ||
required: false | ||
push: | ||
branches: | ||
- main | ||
- release/* | ||
pull_request: | ||
branches: | ||
- split-builds | ||
jobs: | ||
build_azure_pipelinesrelease_template: | ||
name: build_azure_pipelinesrelease_template | ||
uses: "./.github/workflows/build_azure_pipelinesrelease_template.yml" | ||
with: | ||
registry: ghcr.io/getporter | ||
shouldPublish: "${{inputs.shouldPublish}}" | ||
skipTests: "${{inputs.skipTests}}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
name: porter/porter-install-check | ||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
jobs: | ||
linux: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- name: Test Install Script | ||
run: scripts/test/test-linux-install.sh | ||
shell: bash | ||
windows: | ||
runs-on: windows-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- name: Test Install Script | ||
run: scripts\test\test-windows-install.ps1 | ||
shell: powershell | ||
macos: | ||
runs-on: | ||
- self-hosted | ||
- macOS-latest | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v4.1.0 | ||
- name: Test Install Script | ||
run: scripts/test/test-mac-install.sh | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
name: porter/porter-release | ||
on: | ||
push: | ||
tags: | ||
- v* | ||
- "!latest*" | ||
- "!canary*" | ||
jobs: | ||
build_azure_pipelinesrelease_template: | ||
name: build_azure_pipelinesrelease_template | ||
uses: "./.github/workflows/build_azure_pipelinesrelease_template.yml" | ||
with: | ||
registry: ghcr.io/getporter | ||
shouldPublish: true | ||
skipTests: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: porter/test-porter-release | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
shouldPublish: | ||
default: true | ||
type: boolean | ||
required: false | ||
skipTests: | ||
default: true | ||
type: boolean | ||
required: false | ||
pull_request: | ||
branches: | ||
- main | ||
env: | ||
PORTER_PACKAGES_REMOTE: https://github.com/carolynvs/porter-packages.git | ||
PORTER_RELEASE_REPOSITORY: github.com/carolynvs/porter | ||
jobs: | ||
build_azure_pipelinesrelease_template: | ||
name: build_azure_pipelinesrelease_template | ||
uses: "./.github/workflows/build_azure_pipelinesrelease_template.yml" | ||
with: | ||
registry: ghcr.io/getporter/test | ||
shouldPublish: "${{ inputs.shouldPublish }}" | ||
skipTests: "${{ inputs.skipTests }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: porter/testporterbot.porter-release | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
shouldPublish: | ||
default: true | ||
type: boolean | ||
required: false | ||
skipTests: | ||
default: true | ||
type: boolean | ||
required: false | ||
pull_request: | ||
branches: | ||
- release/v1 | ||
jobs: | ||
build_azure_pipelinesrelease_template: | ||
name: build_azure_pipelinesrelease_template | ||
uses: "./.github/workflows/build_azure_pipelinesrelease_template.yml" | ||
with: | ||
registry: ghcr.io/getporter/test | ||
shouldPublish: "${{ inputs.shouldPublish }}" | ||
skipTests: "${{ inputs.skipTests }}" |