diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml deleted file mode 100644 index 75176e8e..00000000 --- a/.github/workflows/build-macos.yml +++ /dev/null @@ -1,131 +0,0 @@ -name: "macOS build" - -on: - push: - branches: [ main, stable ] - paths-ignore: - - 'README.md' - - 'SECURITY.md' - - '.gitmodules' - - '.gitignore' - - 'LICENSE' - - 'cider.lock' - -jobs: - build-macos: - name: build-macos - runs-on: macos-11 - permissions: - actions: read - contents: write - security-events: write - - strategy: - fail-fast: false - matrix: - node-version: [ 18 ] - - steps: - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '12.4' - - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - submodules: true - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - - - name: Run Version Script - env: - GH_REQUEST_TOKEN: ${{ secrets.RELEASE_TOKEN }} - run: | - sudo chmod +x resources/version.sh && ./resources/version.sh || true - - - name: Sign in to EVS - run: | - python3 -m pip install --upgrade castlabs-evs - python3 -m castlabs_evs.account refresh -A ${{ secrets.EVS_ACCOUNT_NAME }} -P ${{ secrets.EVS_PASSWD }} - - - name: Setup Environment - run: brew install automake #libtool autoconf - - - name: Install and Configure Node Modules - run: | - npm run bootstrap - cp resources/verror-types node_modules/@types/verror/index.d.ts - cp resources/macPackager.js node_modules/app-builder-lib/out/macPackager.js - rm -r node_modules/pouchdb-node/node_modules/leveldown || true - rm -r node_modules/pouchdb-adapter-leveldb/node_modules/leveldown || true - - - name: Build the DMG - env: - CSC_LINK: ${{ secrets.CSC_LINK }} - CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} - APPLEID: ${{ secrets.APPLEID }} - APPLEIDPASS: ${{ secrets.APPLEIDPASS }} - APPLE_ID: ${{ secrets.APPLEID }} - APPLE_ID_PASSWORD: ${{ secrets.APPLEIDPASS }} - PSC_NAME: ${{ secrets.PSC_NAME }} - DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer - run: npm run dist -m --publish=never - - - name: Add license to DMG - run: npx dmg-license resources/license.json dist/*.dmg - - - name: Upload macOS Latest - uses: svenstaro/upload-release-action@v2 - with: - repo_name: ciderapp/cider-releases - repo_token: ${{ secrets.RELEASE_TOKEN }} - file: dist/latest-mac.yml - tag: v${{ env.RELEASE_VERSION }} - - - name: Import - uses: apple-actions/import-codesign-certs@v1 - with: - p12-file-base64: ${{ secrets.CSC_LINK }} - p12-password: ${{ secrets.CSC_KEY_PASSWORD }} - - - name: Build the PKG - env: - CSC_LINK: ${{ secrets.CSC_LINK }} - CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} - APPLEID: ${{ secrets.APPLEID }} - APPLEIDPASS: ${{ secrets.APPLEIDPASS }} - run: | - pkgbuild --component dist/mac-universal/Cider.app --install-location /Applications dist/Cider-${{ env.APP_VERSION }}-universal.pkg --sign ${{ secrets.PSC_NAME }} - xcrun altool --notarize-app --primary-bundle-id com.ciderapp.cider -f dist/Cider*.pkg --username ${{ secrets.APPLEID }} --password ${{ secrets.APPLEIDPASS }} - sleep 5m - xcrun stapler staple dist/*.pkg || true - - - name: Upload a Build Artifact - uses: actions/upload-artifact@v2.2.3 - with: - name: Cider-macOS-${{ env.APP_VERSION }} - path: | - dist/*.dmg - dist/*.pkg - dist/latest-mac.yml - - - name: Upload Files (DMG) - uses: svenstaro/upload-release-action@v2 - with: - repo_name: ciderapp/cider-releases - repo_token: ${{ secrets.RELEASE_TOKEN }} - file: dist/Cider-${{ env.APP_VERSION }}-universal.dmg - tag: v${{ env.RELEASE_VERSION }} - - - name: Upload Files (PKG) - uses: svenstaro/upload-release-action@v2 - with: - repo_name: ciderapp/cider-releases - repo_token: ${{ secrets.RELEASE_TOKEN }} - file: dist/Cider-${{ env.APP_VERSION }}-universal.pkg - tag: v${{ env.RELEASE_VERSION }} - diff --git a/azure-pipelines.yml b/azure-pipelines.yml index afaa7cec..bab5337a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -38,8 +38,11 @@ jobs: # path: $(YARN_CACHE_FOLDER) # displayName: Cache yarn - - script: | - yarn set version from sources + + - script: git submodule update --init --recursive --remote + displayName: Init submodules + + - script: yarn set version from sources displayName: "Setup yarn" # Install dependencies (immutable for non-PR builds) @@ -114,8 +117,10 @@ jobs: # path: $(YARN_CACHE_FOLDER) # displayName: Cache yarn - - script: | - yarn set version from sources + - script: git submodule update --init --recursive --remote + displayName: Init submodules + + - script: yarn set version from sources displayName: "Setup yarn" # Install dependencies (immutable for non-PR builds) @@ -136,11 +141,7 @@ jobs: SourceFolder: "dist" Contents: "*.exe" targetFolder: $(Build.ArtifactStagingDirectory) - - task: PublishBuildArtifacts@1 - displayName: Upload Artifacts - inputs: - ArtifactName: "Cider-1" - publishLocation: "Container" + - task: GitHubRelease@1 inputs: gitHubConnection: 'ciderapp' @@ -159,6 +160,13 @@ jobs: assetUploadMode: 'replace' addChangeLog: false + - task: PublishBuildArtifacts@1 + displayName: Upload Artifacts + inputs: + ArtifactName: "Cider-1" + publishLocation: "Container" + + - job: compile_winget displayName: "Compile for Winget" pool: default @@ -169,6 +177,9 @@ jobs: versionSource: "fromFile" versionFilePath: ".nvmrc" + - script: git submodule update --init --recursive --remote + displayName: Init submodules + - script: yarn set version from sources displayName: "Setup yarn" @@ -185,11 +196,7 @@ jobs: SourceFolder: "dist" Contents: "*.exe" targetFolder: $(Build.ArtifactStagingDirectory) - - task: PublishBuildArtifacts@1 - displayName: Upload Artifacts - inputs: - ArtifactName: "Cider-1" - publishLocation: "Container" + - task: GitHubRelease@1 inputs: gitHubConnection: 'ciderapp' @@ -208,4 +215,69 @@ jobs: assetUploadMode: 'replace' addChangeLog: false + - task: PublishBuildArtifacts@1 + displayName: Upload Artifacts + inputs: + ArtifactName: "Cider-1" + publishLocation: "Container" + + - job: compile_macos + displayName: "Compile MacOS Distribution" + pool: Macos + steps: + - task: NodeTool@0 + displayName: "Install Node.js" + inputs: + versionSource: "fromFile" + versionFilePath: ".nvmrc" + + - script: git submodule update --init --recursive --remote + displayName: Init submodules + + - script: yarn set version from sources + displayName: "Setup yarn" + + # Install dependencies (immutable for non-PR builds) + - ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: + - script: yarn install + displayName: "Install Dependencies" + - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + - script: yarn install + displayName: "Install Dependencies" + + - script: yarn dist -m --publish=never + env: {GH_TOKEN : $(GH_TOKEN)} + displayName: "Compile Distribution" + + - task: CopyFiles@2 + displayName: "Copy to artifacts staging directory" + inputs: + SourceFolder: 'dist' + Contents: | + *.dmg + *.pkg + TargetFolder: '$(Build.ArtifactStagingDirectory)' + + - task: PublishBuildArtifacts@1 + displayName: Upload Artifacts + inputs: + ArtifactName: "Cider-1" + publishLocation: "Container" + - task: GitHubRelease@1 + inputs: + gitHubConnection: 'ciderapp' + repositoryName: 'ciderapp/Cider' + action: 'edit' + target: '$(Build.SourceVersion)' + tag: 'v1.6.1' + title: 'Cider Version 1.6.1' + releaseNotesSource: 'inline' + releaseNotesInline: 'Builds from [Azure](https://dev.azure.com/cidercollective/Cider/_build?definitionId=14) CI/CD' + assets: | + $(Build.ArtifactStagingDirectory)/*.pkg + $(Build.ArtifactStagingDirectory)/*.dmg + assetUploadMode: 'replace' + addChangeLog: false + +