diff --git a/.github/workflows/build-util-images.yml b/.github/workflows/build-util-images.yml index db9179535..61a239de5 100644 --- a/.github/workflows/build-util-images.yml +++ b/.github/workflows/build-util-images.yml @@ -9,7 +9,7 @@ on: jobs: buildx: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest env: TERM: xterm strategy: @@ -21,12 +21,12 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 with: install: true - name: Available platforms @@ -41,7 +41,7 @@ jobs: # username: ${{ secrets.DOCKERHUB_USERNAME }} # password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push devwithlando/${{ matrix.image }}:${{ matrix.tag }}${{ steps.pr.outputs.TAG_SUFFIX }} - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v5 with: context: ${{ matrix.context }} platforms: linux/amd64,linux/arm64 diff --git a/.github/workflows/dev-release.yml b/.github/workflows/dev-release.yml deleted file mode 100644 index 8ff3b1c3b..000000000 --- a/.github/workflows/dev-release.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: Create Dev Releases - -on: - push: - branches: - - main - - 'preview/**' - -jobs: - package: - runs-on: ubuntu-20.04 - env: - TERM: xterm - strategy: - matrix: - arch: - - x64 - - arm64 - node-version: - - 16 - os: - - linux - - macos - - win - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - cache: yarn - - name: Install Yarn dependencies - run: yarn install --prefer-offline --frozen-lockfile --production - - name: Reset version if needed - run: | - yarn add @lando/argv@^1.1.0 - node ./scripts/dev-version.js - node ./bin/lando version - - name: Package into node binary - uses: lando/pkg-action@v2 - with: - entrypoint: bin/lando.js - arch: ${{ matrix.arch }} - node-version: node${{ matrix.node-version }} - os: ${{ matrix.os }} - - # sign-n-deploy: - # runs-on: ${{ matrix.os }} - # needs: - # - package - # env: - # TERM: xterm - # strategy: - # matrix: - # include: - # - os: windows-2022 - # key: cli-node14-win-x64-${{ github.sha }} - # file: lando/cli.exe - # certificate-data: WINDOZE_CERT_DATA - # certificate-password: WINDOZE_CERT_PASSWORD - # result: lando-win-x64-${{ github.ref_name }}.exe - # - os: windows-2022 - # key: cli-node14-win-arm64-${{ github.sha }} - # file: lando/cli.exe - # certificate-data: WINDOZE_CERT_DATA - # certificate-password: WINDOZE_CERT_PASSWORD - # result: lando-win-arm64-${{ github.ref_name }}.exe - # - os: macos-11 - # key: cli-node14-macos-x64-${{ github.sha }} - # file: lando/cli - # certificate-data: APPLE_CERT_DATA - # certificate-password: APPLE_CERT_PASSWORD - # apple-product-id: dev.lando.cli - # apple-team-id: FY8GAUX282 - # apple-notary-user: APPLE_NOTARY_USER - # apple-notary-password: APPLE_NOTARY_PASSWORD - # options: --options runtime --entitlements entitlements.xml - # result: lando-macos-x64-${{ github.ref_name }} - # - os: macos-11 - # key: cli-node14-macos-arm64-${{ github.sha }} - # file: lando/cli - # certificate-data: APPLE_CERT_DATA - # certificate-password: APPLE_CERT_PASSWORD - # apple-product-id: dev.lando.cli - # apple-team-id: FY8GAUX282 - # apple-notary-user: APPLE_NOTARY_USER - # apple-notary-password: APPLE_NOTARY_PASSWORD - # options: --options runtime --entitlements entitlements.xml - # result: lando-macos-arm64-${{ github.ref_name }} - # - os: ubuntu-20.04 - # key: cli-node14-linux-x64-${{ github.sha }} - # file: lando/cli - # result: lando-linux-x64-${{ github.ref_name }} - # - os: ubuntu-20.04 - # key: cli-node14-linux-arm64-${{ github.sha }} - # file: lando/cli - # result: lando-linux-arm64-${{ github.ref_name }} - # steps: - # - name: Checkout code - # uses: actions/checkout@v2 - # - name: Download ${{ matrix.key }} - # uses: actions/download-artifact@v3 - # with: - # name: ${{ matrix.key }} - # path: lando - # - name: Sign and Notarize - # uses: lando/code-sign-action@v2 - # id: code-sign-action - # with: - # file: ${{ matrix.file }} - # certificate-data: ${{ secrets[matrix.certificate-data] }} - # certificate-password: ${{ secrets[matrix.certificate-password] }} - # apple-notary-user: ${{ secrets[matrix.apple-notary-user] }} - # apple-notary-password: ${{ secrets[matrix.apple-notary-password] }} - # apple-product-id: ${{ matrix.apple-product-id }} - # apple-team-id: ${{ matrix.apple-team-id }} - # options: ${{ matrix.options }} - # - name: Rename as needed - # shell: bash - # run: | - # mkdir -p releases - # cp ${{ steps.code-sign-action.outputs.file }} releases/${{ matrix.result }} - # cp releases/${{ matrix.result }} "releases/$(echo ${{ matrix.result }} | sed 's/${{ github.ref_name }}/latest/;')" - # cp releases/${{ matrix.result }} "releases/$(echo ${{ matrix.result }} | sed 's/${{ github.ref_name }}/dev/;')" - # chmod +x releases/* - # ls -lsa releases - # - name: Configure S3 Credentials - # uses: aws-actions/configure-aws-credentials@v1 - # with: - # aws-access-key-id: ${{ secrets.S3_ACCESS_KEY_ID }} - # aws-secret-access-key: ${{ secrets.S3_SECRET_ACCESS_KEY }} - # aws-region: us-east-1 - # - name: Upload dev releases to S3 - # shell: bash - # run: aws s3 sync releases s3://files.lando.dev/cli --acl public-read - diff --git a/.github/workflows/pr-core-tests.yml b/.github/workflows/pr-core-tests.yml index e6a49d662..88f62f929 100644 --- a/.github/workflows/pr-core-tests.yml +++ b/.github/workflows/pr-core-tests.yml @@ -11,9 +11,9 @@ jobs: strategy: matrix: os: - - ubuntu-20.04 + - ubuntu-latest node-version: - - '16' + - 'lts/*' leia-tests: - basics-example - badname-example @@ -32,20 +32,12 @@ jobs: # Eventually it would be great if these steps could live in a separate YAML file # that could be included in line to avoid code duplication - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Use Yarn cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + cache: yarn - name: Install Yarn dependencies run: yarn install --prefer-offline --frozen-lockfile diff --git a/.github/workflows/pr-db-tools-tests.yml b/.github/workflows/pr-db-tools-tests.yml index e76d8f8c1..0d968e676 100644 --- a/.github/workflows/pr-db-tools-tests.yml +++ b/.github/workflows/pr-db-tools-tests.yml @@ -11,9 +11,9 @@ jobs: strategy: matrix: os: - - ubuntu-20.04 + - ubuntu-latest node-version: - - '16' + - 'lts/*' leia-tests: - sql-export-example - sql-import-example @@ -23,20 +23,12 @@ jobs: # Eventually it would be great if these steps could live in a separate YAML file # that could be included in line to avoid code duplication - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Use Yarn cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + cache: yarn - name: Install Yarn dependencies run: yarn install --prefer-offline --frozen-lockfile diff --git a/.github/workflows/pr-django-tests.yml b/.github/workflows/pr-django-tests.yml index ed7fc4edf..d643a237f 100644 --- a/.github/workflows/pr-django-tests.yml +++ b/.github/workflows/pr-django-tests.yml @@ -11,9 +11,9 @@ jobs: strategy: matrix: os: - - ubuntu-20.04 + - ubuntu-latest node-version: - - '16' + - 'lts/*' leia-tests: - django-example steps: @@ -22,20 +22,12 @@ jobs: # Eventually it would be great if these steps could live in a separate YAML file # that could be included in line to avoid code duplication - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Use Yarn cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + cache: yarn - name: Install Yarn dependencies run: yarn install --prefer-offline --frozen-lockfile diff --git a/.github/workflows/pr-linter.yml b/.github/workflows/pr-linter.yml index 274aa75ba..e960057ad 100644 --- a/.github/workflows/pr-linter.yml +++ b/.github/workflows/pr-linter.yml @@ -9,29 +9,21 @@ jobs: strategy: matrix: os: - - ubuntu-20.04 + - ubuntu-latest node-version: - - '16' + - 'lts/*' steps: # Install deps and cache # Eventually it would be great if these steps could live in a separate YAML file # that could be included in line to avoid code duplication - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Use Yarn cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + cache: yarn - name: Install Yarn dependencies run: yarn install --prefer-offline --frozen-lockfile diff --git a/.github/workflows/pr-plugins-installed.yml b/.github/workflows/pr-plugins-installed.yml index 2ed91e464..fa9bfbec6 100644 --- a/.github/workflows/pr-plugins-installed.yml +++ b/.github/workflows/pr-plugins-installed.yml @@ -5,7 +5,7 @@ on: jobs: buildx: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest env: TERM: xterm strategy: @@ -46,26 +46,20 @@ jobs: - tomcat - wordpress - varnish + node-version: + - 'lts/*' steps: # Install deps and cache # Eventually it would be great if these steps could live in a separate YAML file # that could be included in line to avoid code duplication - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Use Yarn cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + cache: yarn - name: Install Yarn dependencies run: yarn install --prefer-offline --frozen-lockfile diff --git a/.github/workflows/pr-release-tests.yml b/.github/workflows/pr-release-tests.yml index e67c24a42..192dc021e 100644 --- a/.github/workflows/pr-release-tests.yml +++ b/.github/workflows/pr-release-tests.yml @@ -5,7 +5,7 @@ on: jobs: package: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest env: TERM: xterm strategy: @@ -14,18 +14,18 @@ jobs: - x64 - arm64 node-version: - - 16 + - '16' os: - linux - macos - win steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: yarn diff --git a/.github/workflows/pr-unit-tests.yml b/.github/workflows/pr-unit-tests.yml index d5dc7cda1..6df0fd1e1 100644 --- a/.github/workflows/pr-unit-tests.yml +++ b/.github/workflows/pr-unit-tests.yml @@ -20,20 +20,12 @@ jobs: # Eventually it would be great if these steps could live in a separate YAML file # that could be included in line to avoid code duplication - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Get Yarn cache directory - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - name: Use Yarn cache - uses: actions/cache@v2 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} + cache: yarn - name: Install Yarn dependencies run: yarn install --prefer-offline --frozen-lockfile diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 99bc28494..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: Create Releases - -on: - release: - types: - - published - - edited - -jobs: - package: - runs-on: ubuntu-20.04 - env: - TERM: xterm - strategy: - matrix: - arch: - - x64 - - arm64 - node-version: - - 16 - os: - - linux - - macos - - win - steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Install node ${{ matrix.node-version }} - uses: actions/setup-node@v2 - with: - node-version: ${{ matrix.node-version }} - cache: yarn - - name: Install Yarn dependencies - run: yarn install --prefer-offline --frozen-lockfile --production - - name: Reset version if needed - run: | - yarn add @lando/argv@^1.1.0 - node ./scripts/dev-version.js - node ./bin/lando version - - name: Package into node binary - uses: lando/pkg-action@v2 - with: - entrypoint: bin/lando.js - arch: ${{ matrix.arch }} - node-version: node${{ matrix.node-version }} - os: ${{ matrix.os }} - - # sign-n-deploy: - # runs-on: ${{ matrix.os }} - # needs: - # - package - # env: - # TERM: xterm - # strategy: - # matrix: - # include: - # - os: windows-2022 - # key: cli-node14-win-x64-${{ github.sha }} - # file: lando/cli.exe - # certificate-data: WINDOZE_CERT_DATA - # certificate-password: WINDOZE_CERT_PASSWORD - # result: lando-win-x64-${{ github.ref_name }}.exe - # - os: windows-2022 - # key: cli-node14-win-arm64-${{ github.sha }} - # file: lando/cli.exe - # certificate-data: WINDOZE_CERT_DATA - # certificate-password: WINDOZE_CERT_PASSWORD - # result: lando-win-arm64-${{ github.ref_name }}.exe - # - os: macos-11 - # key: cli-node14-macos-x64-${{ github.sha }} - # file: lando/cli - # certificate-data: APPLE_CERT_DATA - # certificate-password: APPLE_CERT_PASSWORD - # apple-product-id: dev.lando.cli - # apple-team-id: FY8GAUX282 - # apple-notary-user: APPLE_NOTARY_USER - # apple-notary-password: APPLE_NOTARY_PASSWORD - # options: --options runtime --entitlements entitlements.xml - # result: lando-macos-x64-${{ github.ref_name }} - # - os: macos-11 - # key: cli-node14-macos-arm64-${{ github.sha }} - # file: lando/cli - # certificate-data: APPLE_CERT_DATA - # certificate-password: APPLE_CERT_PASSWORD - # apple-product-id: dev.lando.cli - # apple-team-id: FY8GAUX282 - # apple-notary-user: APPLE_NOTARY_USER - # apple-notary-password: APPLE_NOTARY_PASSWORD - # options: --options runtime --entitlements entitlements.xml - # result: lando-macos-arm64-${{ github.ref_name }} - # - os: ubuntu-20.04 - # key: cli-node14-linux-x64-${{ github.sha }} - # file: lando/cli - # result: lando-linux-x64-${{ github.ref_name }} - # - os: ubuntu-20.04 - # key: cli-node14-linux-arm64-${{ github.sha }} - # file: lando/cli - # result: lando-linux-arm64-${{ github.ref_name }} - - # steps: - # - name: Checkout code - # uses: actions/checkout@v2 - # - name: Download ${{ matrix.key }} - # uses: actions/download-artifact@v3 - # with: - # name: ${{ matrix.key }} - # path: lando - # - name: Sign and Notarize - # uses: lando/code-sign-action@v2 - # id: code-sign-action - # with: - # file: ${{ matrix.file }} - # certificate-data: ${{ secrets[matrix.certificate-data] }} - # certificate-password: ${{ secrets[matrix.certificate-password] }} - # apple-notary-user: ${{ secrets[matrix.apple-notary-user] }} - # apple-notary-password: ${{ secrets[matrix.apple-notary-password] }} - # apple-product-id: ${{ matrix.apple-product-id }} - # apple-team-id: ${{ matrix.apple-team-id }} - # options: ${{ matrix.options }} - # - name: Rename as needed - # shell: bash - # run: | - # mkdir -p releases - # cp ${{ steps.code-sign-action.outputs.file }} releases/${{ matrix.result }} - # if [ "${{ github.event.release.prerelease }}" == "false" ]; then - # cp releases/${{ matrix.result }} "releases/$(echo ${{ matrix.result }} | sed 's/${{ github.ref_name }}/stable/;')" - # else - # cp releases/${{ matrix.result }} "releases/$(echo ${{ matrix.result }} | sed 's/${{ github.ref_name }}/edge/;')" - # fi - # chmod +x releases/* - # ls -lsa releases - # - name: Configure S3 Credentials - # uses: aws-actions/configure-aws-credentials@v1 - # with: - # aws-access-key-id: ${{ secrets.S3_ACCESS_KEY_ID }} - # aws-secret-access-key: ${{ secrets.S3_SECRET_ACCESS_KEY }} - # aws-region: us-east-1 - # - name: Upload releases to S3 - # shell: bash - # run: aws s3 sync releases s3://files.lando.dev/cli --acl public-read - # - name: Upload releases to GitHub Releases - # uses: softprops/action-gh-release@v1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # files: releases/${{ matrix.result }} - # fail_on_unmatched_files: true diff --git a/.node-version b/.node-version index 0e94e314c..18c284172 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -16.0.0 \ No newline at end of file +20.11.0 \ No newline at end of file diff --git a/.tool-versions b/.tool-versions index 35830be2c..557ea46d2 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 16.0.0 +nodejs 20.11.0