diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 35e328a..4a6fa67 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,39 +4,21 @@ on: workflow_dispatch: pull_request: types: [opened, reopened] + paths: + - 'src/**' + - '*.slnx' + - '.github/workflows/build.yml' push: branches: - main + paths: + - 'src/**' + - '*.slnx' + - '.github/workflows/build.yml' jobs: build: - runs-on: windows-latest - - steps: - - uses: actions/checkout@v4 - - - name: 1. Generate Version - id: version - run: | - $year = (Get-Date).Year - $month = (Get-Date).Month - $day = (Get-Date).Day - $version = "$year.$month.$day.${{ github.run_number }}" - echo "version=$version" >> $env:GITHUB_OUTPUT - shell: pwsh - - - name: 2. Build Project - run: dotnet build src/CodingWithCalvin.CouchbaseExplorer/CodingWithCalvin.CouchbaseExplorer.csproj -c Release -p:SetVsixVersion=${{ steps.version.outputs.version }} - - - name: 3. Create Information File - uses: jsdaniell/create-json@v1.2.3 - with: - name: 'src/CodingWithCalvin.CouchbaseExplorer/bin/Release/CodingWithCalvin.CouchbaseExplorer.info' - json: '{"sha":"${{ github.sha }}", "version":"${{ steps.version.outputs.version }}"}' - - - name: 4. Upload Artifact - uses: actions/upload-artifact@v4 - with: - path: | - src/CodingWithCalvin.CouchbaseExplorer/bin/Release/CodingWithCalvin.CouchbaseExplorer.info - src/CodingWithCalvin.CouchbaseExplorer/bin/Release/CodingWithCalvin.CouchbaseExplorer.vsix + uses: CodingWithCalvin/.github/.github/workflows/vsix-build.yml@main + with: + extension-name: CouchbaseExplorer + secrets: inherit diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f55b225..10dbe5a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,60 +8,12 @@ permissions: actions: read jobs: - changelog: - name: Generate Changelog - uses: CodingWithCalvin/.github/.github/workflows/generate-changelog.yml@main - secrets: inherit - publish: - needs: changelog - runs-on: windows-latest - outputs: - version: ${{ steps.artifact_manifest.outputs.version }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: 1. Download artifact - id: download-artifact - uses: dawidd6/action-download-artifact@v6 - with: - workflow: build.yml - workflow_conclusion: success - - - name: 2. Parse Artifact Manifest - id: artifact_manifest - uses: ActionsTools/read-json-action@main - with: - file_path: ./artifact/CodingWithCalvin.CouchbaseExplorer.info - - - name: 3. Create Tag & Release - uses: ncipollo/release-action@v1.14.0 - with: - artifacts: ./artifact/CodingWithCalvin.CouchbaseExplorer.vsix - body: ${{ needs.changelog.outputs.changelog }} - makeLatest: true - commit: ${{ steps.artifact_manifest.outputs.sha }} - tag: ${{ steps.artifact_manifest.outputs.version }} - - - name: 4. Publish Release to Marketplace - if: success() - uses: CodingWithCalvin/GHA-VSMarketplacePublisher@v1 - with: - marketplace-pat: ${{ secrets.VS_PAT }} - publish-manifest-path: ./resources/extension.manifest.json - vsix-path: ./artifact/CodingWithCalvin.CouchbaseExplorer.vsix - - notify: - needs: publish - uses: CodingWithCalvin/.github/.github/workflows/bluesky-post.yml@main + uses: CodingWithCalvin/.github/.github/workflows/vsix-publish.yml@main with: - post_text: | - 🚀 Couchbase Explorer v${{ needs.publish.outputs.version }} for #VisualStudio has been released! - - [Check out the release notes here!](https://github.com/${{ github.repository }}/releases/tag/${{ needs.publish.outputs.version }}) - - Marketplace: https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-CouchbaseExplorer - secrets: - BLUESKY_USERNAME: ${{ secrets.BLUESKY_USERNAME }} - BLUESKY_APP_PASSWORD: ${{ secrets.BLUESKY_APP_PASSWORD }} + extension-name: CouchbaseExplorer + display-name: 'Couchbase Explorer' + marketplace-id: CodingWithCalvin.VS-CouchbaseExplorer + description: 'Browse and manage your Couchbase Server data directly from Visual Studio' + hashtags: '#couchbase #nosql' + secrets: inherit