Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
21ddb4e
fix(compose): Fix compose file path resolution as it is copied into t…
florianPat Nov 1, 2024
81d6f29
refactor(compose): Fix to use the configured compose seperator in all…
florianPat Nov 1, 2024
45743af
fix(app.mounts): Use configured appMount of service and not always /a…
florianPat Oct 2, 2024
a195ce9
refactor(home-dir): Add a config option to just share the ssh directo…
florianPat Nov 1, 2024
ed80bce
update(traefik): Enable the traefik dashboard as thats useful per def…
florianPat Nov 1, 2024
9fc7bf9
fix(perm-helpers): Fix permission setup so that it also works for alpine
florianPat Dec 29, 2024
cdd2386
fix(tooling): Check that container setup is finished at container sta…
florianPat Sep 9, 2024
3d18619
fix(events): Make sure the perm-sweep is run for docker-compose services
florianPat Nov 16, 2024
c43f129
feat(exec): Exec can also run if the app is not yet started and add n…
florianPat Oct 19, 2024
32ed1f6
feat(volumes): Use the lando proxy dir as the config volume and there…
florianPat Sep 9, 2024
79f5436
fix(docker): Docker in bitbucket pipelines has another error message,…
florianPat Jan 2, 2025
39c18db
feat(bootstrap): Add special '_init' service for events so that one c…
florianPat Oct 19, 2024
13b4d34
feat(bootstrap): Add bootstrap event handling and fix lando is not ye…
florianPat Oct 19, 2024
471bf93
feat(_init-for-tooling): Add special _init service for tooling commands
florianPat Oct 20, 2024
337b953
feat(init): Remove init compose after execution
florianPat Oct 19, 2024
11ed304
feat(core): Add core loading also from config
florianPat Nov 7, 2024
c7a5b13
fix(config): Fix reloading of lando config after setup as binary config
florianPat Jan 3, 2025
447bd2b
feat(events): Add special `lando` service for events to run tooling t…
florianPat Jan 5, 2025
341ba6d
feat: Optional docker composification of project name
florianPat Jan 6, 2025
81c8ccd
fix(lando-entrypoint): Due to script mounting changes the fallback of
florianPat Jan 19, 2025
00dd723
feat(env-file): Add compose_env_file option to the .lando.yml
florianPat Feb 24, 2025
2460dd9
feat(docker-bin): Use which docker to find the docker binary
florianPat Mar 4, 2025
74dd50d
feat(cli): Add lando_cli env var as a yargs configuration
florianPat Mar 4, 2025
a3a7f91
fix(setup-engine): Do not throw an error if docker desktop is not
florianPat Mar 13, 2025
1ee31a6
feat(plugin-auth): Inject auth from home npmrc to authenticate agains…
florianPat Aug 22, 2025
5c70985
feat(wsl): Use docker-engine in wsl instead of docker desktop for bet…
florianPat Aug 25, 2025
9b1f207
feat(proxy): Add option to not strip hostname prefixes
florianPat Aug 25, 2025
e921975
Revert "feat(wsl): Use docker-engine in wsl instead of docker desktop…
florianPat Aug 29, 2025
a944950
feat: Reduce volumes
florianPat Dec 2, 2025
7cd67e5
chore: Make sure to not have another install indirection and just ins…
florianPat Dec 3, 2025
ec20c09
feat: Use homepageurl of the core plugin to update the core/cli
florianPat Jan 4, 2026
839dd46
chore: Bump docker versions
florianPat Dec 4, 2025
b609490
chore: Remove unneeded reset orchastrator
florianPat Dec 7, 2025
bb2d1b4
fix(pull): Do not try to pull an image which is buildable in docker c…
florianPat Dec 30, 2025
aa26bad
fix: Trusted publishing
florianPat Dec 30, 2025
14a59e2
fix: Make sure that the home directory is preserved
florianPat Jan 4, 2026
2a704f2
feat: Be able to pass compose options through to docker compose
florianPat Jan 4, 2026
ab34540
feat: Add in env vars from the LANDO_CLI_ENV_JSON env var
florianPat Jan 5, 2026
c776c2a
feat: Do not strip COMPOSE_ env variables
florianPat Jan 5, 2026
a4e3309
fix: If a container starts as non-root, the /tmp folder is chowned to
florianPat Jan 27, 2026
9cb333b
fix(tooling): fix resolve dir/appmount on the first start if we start…
florianPat Jan 30, 2026
9f1b5b7
fix(perms): chown at the end to fix race condition
florianPat Feb 2, 2026
b71d44f
fix(perms): Do not chown mounted volumes at all because docker itself…
florianPat Feb 2, 2026
0733bbb
perf: Do not chown bind mounts inside /var/www as they are right anyway
florianPat Mar 13, 2026
8edd40d
feat: Add quietPull option for compose up command
florianPat Mar 15, 2026
bbbf2eb
chore: flos core package changes and make release possible
florianPat Dec 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 28 additions & 36 deletions .github/workflows/deploy-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ on:
github-token:
description: "The github token"
required: true
npm-token:
description: "The npm deploy token"
required: true

jobs:
deploy-npm:
Expand All @@ -28,34 +25,31 @@ jobs:
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
registry-url: https://registry.npmjs.org
cache: npm
- name: Install dependencies
run: npm clean-install --prefer-offline --frozen-lockfile
- name: Lint code
run: npm run lint
- name: Run unit tests
run: npm run test:unit
- name: Update edge release alias
shell: bash
run: |
if ./scripts/semcompare.sh "${{ github.event.release.tag_name }}" "$(cat ./release-aliases/3-EDGE)"; then
echo "${{ github.event.release.tag_name }}" > ./release-aliases/3-EDGE
fi
- name: Update stable release alias
shell: bash
if: github.event.release.prerelease == false
run: |
if ./scripts/semcompare.sh "${{ github.event.release.tag_name }}" "$(cat ./release-aliases/3-STABLE)"; then
echo "${{ github.event.release.tag_name }}" > ./release-aliases/3-STABLE
fi
#- name: Update edge release alias
# shell: bash
# run: |
# if ./scripts/semcompare.sh "${{ github.event.release.tag_name }}" "$(cat ./release-aliases/3-EDGE)"; then
# echo "${{ github.event.release.tag_name }}" > ./release-aliases/3-EDGE
# fi
#- name: Update stable release alias
# shell: bash
# if: github.event.release.prerelease == false
# run: |
# if ./scripts/semcompare.sh "${{ github.event.release.tag_name }}" "$(cat ./release-aliases/3-STABLE)"; then
# echo "${{ github.event.release.tag_name }}" > ./release-aliases/3-STABLE
# fi
- name: Prepare Release
uses: lando/prepare-release-action@v3
with:
lando-plugin: true
sync-token: ${{ secrets.github-token }}
sync-email: rtfm47@lando.dev
sync-username: rtfm-47
sync: false
- name: Upgrade npm for trusted publishing
run: npm install -g "npm@^11.5.1"
- name: Publish to npm
Expand All @@ -64,9 +58,9 @@ jobs:
PACKAGE=$(node -p "require('./package.json').name")

if [ "${{ github.event.release.prerelease }}" == "false" ]; then
npm publish --access public --dry-run
npm publish --access public
npm dist-tag add "$PACKAGE@$VERSION" edge
npm publish --access public --tag latest --dry-run
npm publish --access public --tag latest
# npm dist-tag add "$PACKAGE@$VERSION" edge # not supported with trusted publishing

echo "::notice title=Published $VERSION to $PACKAGE::This is a stable release published to the default 'latest' npm tag"
echo "::notice title=Updated latest tag to $VERSION::The stable tag now points to $VERSION"
Expand All @@ -78,16 +72,14 @@ jobs:
echo "::notice title=Published $VERSION to $PACKAGE::This is a prerelease published to the 'edge' npm tag"
echo "::notice title=Updated edge tag to $VERSION::The edge tag now points to $VERSION"
fi
env:
NODE_AUTH_TOKEN: ${{ secrets.npm-token }}
- name: Update edge release alias on main
if: github.event.release.target_commitish == 'edge'
run: |
git clone https://github.com/lando/core.git core
cd core
git config user.name "rtfm-47"
git config user.email "rtfm47@lando.dev"
echo "${{ github.event.release.tag_name }}" > ./release-aliases/3-EDGE
git add .
git commit -m "Update edge release alias to ${{ github.event.release.tag_name }} triggered by @rtfm-47"
git push https://x-access-token:${{ secrets.github-token }}@github.com/lando/core.git main
#- name: Update edge release alias on main
# if: github.event.release.target_commitish == 'edge'
# run: |
# git clone https://github.com/lando/core.git core
# cd core
# git config user.name "rtfm-47"
# git config user.email "rtfm47@lando.dev"
# echo "${{ github.event.release.tag_name }}" > ./release-aliases/3-EDGE
# git add .
# git commit -m "Update edge release alias to ${{ github.event.release.tag_name }} triggered by @rtfm-47"
# git push https://x-access-token:${{ secrets.github-token }}@github.com/lando/core.git main
78 changes: 39 additions & 39 deletions .github/workflows/dev-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,38 +29,38 @@ jobs:
os: ${{ matrix.os }}
version: dev

sign:
uses: ./.github/workflows/sign-binary.yml
needs:
- package
strategy:
fail-fast: false
matrix:
file:
- lando-linux-arm64-${{ github.sha }}
- lando-macos-arm64-${{ github.sha }}
- lando-win-arm64-${{ github.sha }}
#sign:
# uses: ./.github/workflows/sign-binary.yml
# needs:
# - package
# strategy:
# fail-fast: false
# matrix:
# file:
# - lando-linux-arm64-${{ github.sha }}
# - lando-macos-arm64-${{ github.sha }}
# - lando-win-arm64-${{ github.sha }}

- lando-linux-x64-${{ github.sha }}
- lando-macos-x64-${{ github.sha }}
- lando-win-x64-${{ github.sha }}
# - lando-linux-x64-${{ github.sha }}
# - lando-macos-x64-${{ github.sha }}
# - lando-win-x64-${{ github.sha }}

with:
download-pattern: packaged-lando-*
file: ${{ matrix.file }}
secrets:
apple-notary-user: ${{ secrets.APPLE_NOTARY_USER }}
apple-notary-password: ${{ secrets.APPLE_NOTARY_PASSWORD }}
certificate-data: ${{ contains(matrix.file, 'macos') && secrets.APPLE_CERT_DATA || secrets.KEYLOCKER_CLIENT_CERT }}
certificate-password: ${{ contains(matrix.file, 'macos') && secrets.APPLE_CERT_PASSWORD || secrets.KEYLOCKER_CLIENT_CERT_PASSWORD }}
keylocker-api-key: ${{ secrets.KEYLOCKER_API_KEY }}
keylocker-cert-sha1-hash: ${{ secrets.KEYLOCKER_CERT_SHA1_HASH }}
keylocker-keypair-alias: ${{ secrets.KEYLOCKER_KEYPAIR_ALIAS }}
# with:
# download-pattern: packaged-lando-*
# file: ${{ matrix.file }}
# secrets:
# apple-notary-user: ${{ secrets.APPLE_NOTARY_USER }}
# apple-notary-password: ${{ secrets.APPLE_NOTARY_PASSWORD }}
# certificate-data: ${{ contains(matrix.file, 'macos') && secrets.APPLE_CERT_DATA || secrets.KEYLOCKER_CLIENT_CERT }}
# certificate-password: ${{ contains(matrix.file, 'macos') && secrets.APPLE_CERT_PASSWORD || secrets.KEYLOCKER_CLIENT_CERT_PASSWORD }}
# keylocker-api-key: ${{ secrets.KEYLOCKER_API_KEY }}
# keylocker-cert-sha1-hash: ${{ secrets.KEYLOCKER_CERT_SHA1_HASH }}
# keylocker-keypair-alias: ${{ secrets.KEYLOCKER_KEYPAIR_ALIAS }}

build-release-binary-alias:
uses: ./.github/workflows/release-rename-binary.yml
needs:
- sign
- package
strategy:
fail-fast: false
matrix:
Expand All @@ -77,11 +77,11 @@ jobs:
with:
source: lando-${{ matrix.os }}-${{ matrix.arch }}-${{ github.sha }}
destination: lando-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.alias }}
download-pattern: signed-lando-*
download-pattern: packaged-lando-*
build-release-binary-branch:
uses: ./.github/workflows/release-rename-binary.yml
needs:
- sign
- package
strategy:
fail-fast: false
matrix:
Expand All @@ -96,7 +96,7 @@ jobs:
with:
source: lando-${{ matrix.os }}-${{ matrix.arch }}-${{ github.sha }}
destination: lando-${{ matrix.os }}-${{ matrix.arch }}-${{ github.head_ref || github.ref_name }}
download-pattern: signed-lando-*
download-pattern: packaged-lando-*

checksum:
uses: ./.github/workflows/generate-checksums.yml
Expand All @@ -116,16 +116,16 @@ jobs:
show: true
upload-name: release-checksums-${{ matrix.alias }}

deploy-releases-s3:
uses: ./.github/workflows/deploy-s3.yml
needs:
- checksum
with:
download-pattern: release-*
secrets:
aws-secret-access-key: ${{ secrets.S3_SECRET_ACCESS_KEY }}
aws-access-key-id: ${{ secrets.S3_ACCESS_KEY_ID }}
aws-region: us-east-1
#deploy-releases-s3:
# uses: ./.github/workflows/deploy-s3.yml
# needs:
# - checksum
# with:
# download-pattern: release-*
# secrets:
# aws-secret-access-key: ${{ secrets.S3_SECRET_ACCESS_KEY }}
# aws-access-key-id: ${{ secrets.S3_ACCESS_KEY_ID }}
# aws-region: us-east-1
deploy-releases-artifacts:
uses: ./.github/workflows/deploy-artifacts.yml
needs:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/pkg-binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ jobs:
cache: npm
- name: Install dependencies
run: npm clean-install --prefer-offline --frozen-lockfile --production
- name: Install plugins
run: scripts/install-plugins.sh --lando bin/lando ${{ inputs.edge == true && '--edge' || '' }}
#- name: Install plugins
# run: scripts/install-plugins.sh --lando bin/lando ${{ inputs.edge == true && '--edge' || '' }}
- name: Switch to edge channel
if: inputs.edge == true
run: |
Expand Down Expand Up @@ -82,8 +82,8 @@ jobs:
- name: Ensure channel
if: (inputs.os == 'linux' && runner.os == 'Linux') || (inputs.os == 'macos' && runner.os == 'macOS')
run: ./dist/${{ inputs.filename }} config --path channel | grep ${{ inputs.edge == true && 'edge' || 'stable' }}
- name: Ensure plugin install
if: ((inputs.os == 'linux' && runner.os == 'Linux') || (inputs.os == 'macos' && runner.os == 'macOS'))
run: |
./dist/${{ inputs.filename }} config --path fatcore | grep true
./dist/${{ inputs.filename }} config | grep -q "/snapshot/core/plugins/wordpress"
#- name: Ensure plugin install
# if: ((inputs.os == 'linux' && runner.os == 'Linux') || (inputs.os == 'macos' && runner.os == 'macOS'))
# run: |
# ./dist/${{ inputs.filename }} config --path fatcore | grep true
# ./dist/${{ inputs.filename }} config | grep -q "/snapshot/core/plugins/wordpress"
Loading
Loading