diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 137a1ec..318b18a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,6 +14,7 @@ on: env: JOB_TRANSFER_ARTIFACT: build-artifacts + NODE_VERSION: 18.17 jobs: build: @@ -22,23 +23,28 @@ jobs: fail-fast: false matrix: config: - - os: windows-2019 + - os: [self-hosted, windows-sign-pc] + id: windows - os: ubuntu-latest + id: linux - os: macos-latest + id: macos-universal runs-on: ${{ matrix.config.os }} timeout-minutes: 90 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - - name: Install Node.js 16.x - uses: actions/setup-node@v3 + - name: Install Node.js ${{ env.NODE_VERSION }} + if: runner.name != 'WINDOWS-SIGN-PC' + uses: actions/setup-node@v4 with: - node-version: '16' + node-version: ${{ env.NODE_VERSION }} registry-url: 'https://registry.npmjs.org' - name: Install Python 3.x + if: runner.name != 'WINDOWS-SIGN-PC' uses: actions/setup-python@v4 with: python-version: '3.11.x' @@ -50,11 +56,18 @@ jobs: AC_USERNAME: ${{ secrets.AC_USERNAME }} AC_PASSWORD: ${{ secrets.AC_PASSWORD }} AC_TEAM_ID: ${{ secrets.AC_TEAM_ID }} + INSTALLER_CERT_WINDOWS_CER: "/tmp/cert.cer" + # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. + # Keep in mind that this path could change when upgrading to a new runner version + SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" + WIN_CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} + WIN_CERT_CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }} # AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} # AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} # IS_NIGHTLY: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main') }} IS_RELEASE: ${{ startsWith(github.ref, 'refs/tags/') }} IS_FORK: ${{ github.event.pull_request.head.repo.fork == true }} + run: | # See: https://www.electron.build/code-signing if [ $IS_FORK = true ]; then @@ -81,9 +94,9 @@ jobs: npm run build - name: Upload [GitHub Actions] - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT }}-${{ matrix.config.id }} path: dist artifacts: @@ -97,24 +110,29 @@ jobs: artifact: - path: "*-linux_x64.zip" name: Arduino-Lab-for-MicroPython_Linux_X86-64 - - path: "*-mac_x64.zip" - name: Arduino-Lab-for-MicroPython_macOS_X86-64 + id: linux + - path: "*-mac_universal.zip" + name: Arduino-Lab-for-MicroPython_macOS_Universal + id: macos-universal # - path: "*Windows_64bit.exe" # name: Windows_X86-64_interactive_installer + # id: windows # - path: "*Windows_64bit.msi" # name: Windows_X86-64_MSI + # id: windows - path: "*-win_x64.zip" name: Arduino-Lab-for-MicroPython_Windows_X86-64 + id: windows steps: - name: Download job transfer artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: ${{ env.JOB_TRANSFER_ARTIFACT }}-${{ matrix.artifact.id }} path: ${{ env.JOB_TRANSFER_ARTIFACT }} - name: Upload tester build artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact.name }} path: ${{ env.JOB_TRANSFER_ARTIFACT }}/${{ matrix.artifact.path }} @@ -124,23 +142,25 @@ jobs: if: github.repository == 'arduino/lab-micropython-editor' && startsWith(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: - - name: Download [GitHub Actions] - uses: actions/download-artifact@v3 + - name: Download all artifacts + uses: actions/download-artifact@v4 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} - path: ${{ env.JOB_TRANSFER_ARTIFACT }} + path: artifacts + + - name: List artifacts + run: ls -R artifacts - name: Get Tag id: tag_name run: | - echo ::set-output name=TAG_NAME::${GITHUB_REF#refs/tags/} + echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT - name: Publish Release [GitHub] uses: svenstaro/upload-release-action@2.2.0 with: repo_token: ${{ secrets.GITHUB_TOKEN }} release_name: ${{ steps.tag_name.outputs.TAG_NAME }} - file: ${{ env.JOB_TRANSFER_ARTIFACT }}/* + file: artifacts/**/* tag: ${{ github.ref }} file_glob: true @@ -154,7 +174,11 @@ jobs: runs-on: ubuntu-latest steps: - - name: Remove unneeded job transfer artifact + - name: Remove unneeded job transfer artifacts uses: geekyeggo/delete-artifact@v2 with: - name: ${{ env.JOB_TRANSFER_ARTIFACT }} + name: | + ${{ env.JOB_TRANSFER_ARTIFACT }}-windows + ${{ env.JOB_TRANSFER_ARTIFACT }}-linux + ${{ env.JOB_TRANSFER_ARTIFACT }}-macos-x64 + ${{ env.JOB_TRANSFER_ARTIFACT }}-macos-arm64 \ No newline at end of file diff --git a/README.md b/README.md index 852a702..5a08600 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,41 @@ # Arduino Lab for MicroPython -
-
-
-
-
Loading files...
Removing...
Connecting...
Loading files...
Saving file... ${state.savingProgress}
Transferring file... ${state.transferringProgress}