diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8e62efdec..b79f49a29 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,10 +49,10 @@ jobs: # Build SDK - name: Build SDK - run: pwsh -File Utils/Build-RscSdk.ps1 -NoTests -CI + run: pwsh -NoProfile -NonInteractive -File Utils/Build-RscSdk.ps1 -NoTests -CI # Test SDK - name: Test SDK env: RSC_SERVICE_ACCOUNT_FILE: ${{ github.workspace }}/service_account.json - run: pwsh -File Utils/Test-RscSdk.ps1 -CI + run: pwsh -NoProfile -NonInteractive -File Utils/Test-RscSdk.ps1 -CI diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..1b969470d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,57 @@ +name: Release SDK + +on: + workflow_dispatch: + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + # Ensure PowerShell config directory exists + - name: Ensure PowerShell config directory exists + run: mkdir -p /home/runner/.config/powershell + shell: bash + + # Create the service account file from the secret + - name: Create Service Account File + run: | + echo '${{ secrets.RSC_SERVICE_ACCOUNT_JSON }}' > ${{ github.workspace }}/service_account.json + shell: bash + + # Install PowerShell + - name: Install PowerShell + run: | + # Update the list of products + sudo apt-get update + # Install a basic PowerShell environment + sudo apt-get install -y powershell + + # Setup .NET + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: 6.0.x + + # Check what is currently the latest release + - name: Check Published Release + run: pwsh -NoProfile -NonInteractive -File Utils/admin/Test-RscSdkRelease.ps1 + + # Check if the current branch is correctly put together + - name: Check Release candidate + run: pwsh -NoProfile -NonInteractive -File Utils/admin/Test-RscSdkCandidate.ps1 + + # Dry run the release + - name: Dry run release + env: + RSC_SERVICE_ACCOUNT_FILE: ${{ github.workspace }}/service_account.json + run: pwsh -NoProfile -NonInteractive -File Utils/admin/New-RscSdkRelease.ps1 + + # Release + - name: Release + env: + RSC_SERVICE_ACCOUNT_FILE: ${{ github.workspace }}/service_account.json + run: pwsh -NoProfile -NonInteractive -File Utils/admin/New-RscSdkRelease.ps1 -NotDry