Skip to content
Open
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
58 changes: 29 additions & 29 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,24 @@ on:
paths-ignore: *paths-ignore
workflow_dispatch:

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6

- run: Invoke-Build -Task Lint
shell: pwsh

build:
name: Build Module
needs: lint
runs-on: ubuntu-latest
steps:
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12

- run: Invoke-Build -Task Lint
shell: pwsh

build:
name: Build Module
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12

- name: Build
run: Invoke-Build -Task ShowInfo, Clean, Build
Expand All @@ -56,7 +56,7 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12
with:
ps-version: "5"
skip-setup: "true"
Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:
- { os: macos-latest, name: "macOS" }
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12

- name: Download release artifact
uses: actions/download-artifact@v8
Expand All @@ -116,10 +116,10 @@ jobs:
name: ${{ matrix.name }}-Unit-Tests
path: Test*.xml

smoke_tests:
name: Smoke Tests
needs: lint
runs-on: ubuntu-latest
smoke_tests:
name: Smoke Tests
needs: lint
runs-on: ubuntu-latest
# Skip on fork PRs and Dependabot PRs because secrets are not exposed there.
# First-party PRs and pushes to master gate on smoke tests, and release.yml
# requires a successful CI workflow for the exact tagged commit.
Expand All @@ -134,7 +134,7 @@ jobs:
JIRA_TEST_ISSUE: ${{ vars.JIRA_TEST_ISSUE }}
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12

- run: Invoke-Build -Task TestIntegration -Tag Smoke -PesterVerbosity Detailed
shell: pwsh
Expand All @@ -151,7 +151,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12

- name: Validate release packaging path
shell: pwsh
Expand All @@ -178,10 +178,10 @@ jobs:
throw "Expected prerelease alpha1, got '$($manifestData.PrivateData.PSData.Prerelease)'"
}

ci-required:
name: CI Result
if: always()
needs: [lint, build, test_windows_ps5, test_pwsh, release_dry_run, smoke_tests]
ci-required:
name: CI Result
if: always()
needs: [lint, build, test_windows_ps5, test_pwsh, release_dry_run, smoke_tests]
runs-on: ubuntu-latest
steps:
- name: Aggregate job results
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ jobs:
steps:
- uses: actions/checkout@v6

- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12
198 changes: 99 additions & 99 deletions .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
@@ -1,99 +1,99 @@
name: Integration Tests

on:
schedule:
- cron: "30 5 * * *"
workflow_dispatch:
inputs:
track:
description: "Which track to run"
required: false
default: both
type: choice
options:
- cloud
- server
- both

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false

jobs:
cloud_integration_tests:
name: Smoke Integration Tests (Cloud)
if: (github.event_name == 'schedule' && github.repository == 'AtlassianPS/JiraAgilePS') ||
(github.event_name == 'workflow_dispatch' &&
(inputs.track == 'cloud' || inputs.track == 'both'))
runs-on: ubuntu-latest
env:
JIRA_CLOUD_URL: ${{ vars.JIRA_CLOUD_URL }}
JIRA_CLOUD_USERNAME: ${{ vars.ATLASSIAN_CLOUD_USER }}
JIRA_CLOUD_PASSWORD: ${{ secrets.ATLASSIAN_CLOUD_PAT }}
JIRA_TEST_PROJECT: ${{ vars.JIRA_TEST_PROJECT }}
JIRA_TEST_ISSUE: ${{ vars.JIRA_TEST_ISSUE }}
JIRA_TEST_USER: ${{ vars.JIRA_TEST_USER }}
JIRA_TEST_GROUP: ${{ vars.JIRA_TEST_GROUP }}
JIRA_TEST_FILTER: ${{ vars.JIRA_TEST_FILTER }}
JIRA_TEST_VERSION: ${{ vars.JIRA_TEST_VERSION }}
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6

- run: Invoke-Build -Task TestIntegration -Tag Cloud -PesterVerbosity Detailed
shell: pwsh

- uses: actions/upload-artifact@v7
if: always()
with:
name: Cloud-Integration-Tests
path: Test-Integration.xml

server_integration_tests:
name: Smoke Integration Tests (Dockerized Jira DC)
if: (github.event_name == 'schedule' && github.repository == 'AtlassianPS/JiraAgilePS') ||
(github.event_name == 'workflow_dispatch' &&
(inputs.track == 'server' || inputs.track == 'both'))
runs-on: ubuntu-latest
timeout-minutes: 45
env:
CI_JIRA_TYPE: Server
CI_JIRA_URL: http://localhost:2990/jira
CI_JIRA_ADMIN: admin
CI_JIRA_ADMIN_PASSWORD: admin
CI_JIRA_USER: jira_user
CI_JIRA_USER_PASSWORD: jira
CI_JIRA_TEST_PROJECT: TEST
steps:
- uses: actions/checkout@v6

- run: docker compose up -d
shell: bash

- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6

- run: ./Tools/Wait-JiraServer.ps1 -TimeoutSeconds 1200
shell: pwsh

- run: Invoke-Build -Task TestIntegration -Tag Server -PesterVerbosity Detailed
shell: pwsh

- uses: actions/upload-artifact@v7
if: always()
with:
name: Server-Integration-Tests
path: Test-Integration.xml

- run: docker compose logs jira > jira-container.log
if: always()
shell: bash

- uses: actions/upload-artifact@v7
if: always()
with:
name: Server-Jira-Container-Logs
path: jira-container.log

- run: docker compose down -v
if: always()
shell: bash
name: Integration Tests
on:
schedule:
- cron: "30 5 * * *"
workflow_dispatch:
inputs:
track:
description: "Which track to run"
required: false
default: both
type: choice
options:
- cloud
- server
- both
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
jobs:
cloud_integration_tests:
name: Smoke Integration Tests (Cloud)
if: (github.event_name == 'schedule' && github.repository == 'AtlassianPS/JiraAgilePS') ||
(github.event_name == 'workflow_dispatch' &&
(inputs.track == 'cloud' || inputs.track == 'both'))
runs-on: ubuntu-latest
env:
JIRA_CLOUD_URL: ${{ vars.JIRA_CLOUD_URL }}
JIRA_CLOUD_USERNAME: ${{ vars.ATLASSIAN_CLOUD_USER }}
JIRA_CLOUD_PASSWORD: ${{ secrets.ATLASSIAN_CLOUD_PAT }}
JIRA_TEST_PROJECT: ${{ vars.JIRA_TEST_PROJECT }}
JIRA_TEST_ISSUE: ${{ vars.JIRA_TEST_ISSUE }}
JIRA_TEST_USER: ${{ vars.JIRA_TEST_USER }}
JIRA_TEST_GROUP: ${{ vars.JIRA_TEST_GROUP }}
JIRA_TEST_FILTER: ${{ vars.JIRA_TEST_FILTER }}
JIRA_TEST_VERSION: ${{ vars.JIRA_TEST_VERSION }}
steps:
- uses: actions/checkout@v6
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12
- run: Invoke-Build -Task TestIntegration -Tag Cloud -PesterVerbosity Detailed
shell: pwsh
- uses: actions/upload-artifact@v7
if: always()
with:
name: Cloud-Integration-Tests
path: Test-Integration.xml
server_integration_tests:
name: Smoke Integration Tests (Dockerized Jira DC)
if: (github.event_name == 'schedule' && github.repository == 'AtlassianPS/JiraAgilePS') ||
(github.event_name == 'workflow_dispatch' &&
(inputs.track == 'server' || inputs.track == 'both'))
runs-on: ubuntu-latest
timeout-minutes: 45
env:
CI_JIRA_TYPE: Server
CI_JIRA_URL: http://localhost:2990/jira
CI_JIRA_ADMIN: admin
CI_JIRA_ADMIN_PASSWORD: admin
CI_JIRA_USER: jira_user
CI_JIRA_USER_PASSWORD: jira
CI_JIRA_TEST_PROJECT: TEST
steps:
- uses: actions/checkout@v6
- run: docker compose up -d
shell: bash
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12
- run: ./Tools/Wait-JiraServer.ps1 -TimeoutSeconds 1200
shell: pwsh
- run: Invoke-Build -Task TestIntegration -Tag Server -PesterVerbosity Detailed
shell: pwsh
- uses: actions/upload-artifact@v7
if: always()
with:
name: Server-Integration-Tests
path: Test-Integration.xml
- run: docker compose logs jira > jira-container.log
if: always()
shell: bash
- uses: actions/upload-artifact@v7
if: always()
with:
name: Server-Jira-Container-Logs
path: jira-container.log
- run: docker compose down -v
if: always()
shell: bash
12 changes: 6 additions & 6 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,12 @@ jobs:
path: ./Release/
if_no_artifact_found: fail

- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@9a9367e22847bd24f86208ed2d98d207b0e2a3b3 # v0.1.6

- name: Publish module
run: Invoke-Build -Task Publish -VersionToPublish ${{ steps.release_ref.outputs.release_tag }}
-PSGalleryAPIKey ${{ secrets.PSGALLERY_API_KEY }}
shell: pwsh
- uses: AtlassianPS/AtlassianPS.Standards/.github/actions/setup-powershell@b95fd4d1ad0fca24905a38be4db70da7eeff8cb0 # v0.1.12
- name: Publish module
run: Invoke-Build -Task Publish -VersionToPublish ${{ steps.release_ref.outputs.release_tag }}
-PSGalleryAPIKey ${{ secrets.PSGALLERY_API_KEY }}
shell: pwsh

- name: Create Release and Upload Asset
uses: softprops/action-gh-release@v3
Expand Down
Loading