Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
cedb8ce
fix(compose): Fix compose file path resolution as it is copied into t…
florianPat Nov 1, 2024
b7bd775
feat: If no service key is given, we assume its _lando-compose for se…
florianPat Apr 3, 2026
a058cf8
refactor(compose): Fix to use the configured compose seperator in all…
florianPat Nov 1, 2024
dbaf16c
fix(app.mounts): Use configured appMount of service and not always /a…
florianPat Oct 2, 2024
978f14d
refactor(home-dir): Add a config option to just share the ssh directo…
florianPat Nov 1, 2024
da8aa55
update(traefik): Enable the traefik dashboard as thats useful per def…
florianPat Nov 1, 2024
dce5b77
fix(tooling): Check that container setup is finished at container sta…
florianPat Sep 9, 2024
71989a5
fix(events): Make sure the perm-sweep is run for docker-compose services
florianPat Nov 16, 2024
4c8cf0d
feat(exec): Exec can also run if the app is not yet started and add n…
florianPat Oct 19, 2024
42be9f2
feat(volumes): Use the lando proxy dir as the config volume and there…
florianPat Sep 9, 2024
f413cf2
feat(bootstrap): Add special '_init' service for events so that one c…
florianPat Oct 19, 2024
caf1d50
feat(bootstrap): Add bootstrap event handling and fix lando is not ye…
florianPat Oct 19, 2024
f7a9f0a
feat(_init-for-tooling): Add special _init service for tooling commands
florianPat Oct 20, 2024
e45a8a2
feat(init): Remove init compose after execution
florianPat Oct 19, 2024
a479470
feat(core): Add core loading also from config
florianPat Nov 7, 2024
bc6520b
fix(config): Fix reloading of lando config after setup as binary config
florianPat Jan 3, 2025
1305922
feat(events): Add special `lando` service for events to run tooling t…
florianPat Jan 5, 2025
3cb9eed
feat: Optional docker composification of project name
florianPat Jan 6, 2025
5fbc1d9
fix(lando-entrypoint): Due to script mounting changes the fallback of
florianPat Jan 19, 2025
1a1d46b
feat(env-file): Add compose_env_file option to the .lando.yml
florianPat Feb 24, 2025
72041df
feat(docker-bin): Use which docker to find the docker binary
florianPat Mar 4, 2025
7b3a240
feat(cli): Add lando_cli env var as a yargs configuration
florianPat Mar 4, 2025
52b447b
fix(setup-engine): Do not throw an error if docker desktop is not
florianPat Mar 13, 2025
b8c068c
feat(plugin-auth): Inject auth from home npmrc to authenticate agains…
florianPat Aug 22, 2025
393f745
feat(wsl): Use docker-engine in wsl instead of docker desktop for bet…
florianPat Aug 25, 2025
c228147
feat(proxy): Add option to not strip hostname prefixes
florianPat Aug 25, 2025
a5b46bb
Revert "feat(wsl): Use docker-engine in wsl instead of docker desktop…
florianPat Aug 29, 2025
3f4a242
feat: Reduce volumes
florianPat Dec 2, 2025
e0ea8f9
chore: Make sure to not have another install indirection and just ins…
florianPat Dec 3, 2025
f51f5ca
feat: Use homepageurl of the core plugin to update the core/cli
florianPat Jan 4, 2026
c989d8f
chore: Remove unneeded reset orchastrator
florianPat Dec 7, 2025
936ecaf
fix(pull): Do not try to pull an image which is buildable in docker c…
florianPat Dec 30, 2025
6699521
fix: Trusted publishing
florianPat Dec 30, 2025
590acb4
feat: Be able to pass compose options through to docker compose
florianPat Jan 4, 2026
f992b72
feat: Add in env vars from the LANDO_CLI_ENV_JSON env var
florianPat Jan 5, 2026
4ab1e56
feat: Do not strip COMPOSE_ env variables
florianPat Jan 5, 2026
0c0bdee
fix(perm-helpers): Fix permission setup so that it also works for alpine
florianPat Dec 29, 2024
5de117e
fix(tooling): fix resolve dir/appmount on the first start if we start…
florianPat Jan 30, 2026
5f60eb6
feat: Add quietPull option for compose up command
florianPat Mar 15, 2026
a451af4
chore: Bump docker versions
florianPat Dec 4, 2025
1aa6847
feat: Set the entrypoint to /lando-entrypoint.sh but make sure that t…
florianPat Apr 3, 2026
3f94349
Make sure that user-perms does not fail if we run as webroot user root
florianPat Apr 3, 2026
4b667c9
Small optimizations: No unnecessary chmod and do not run user-perms i…
florianPat Apr 3, 2026
288e4b2
feat(entrypoint): Make sure that services stay alive even if the comm…
florianPat Apr 11, 2026
c8b2c77
feat(generate-certs): Generate certs in the ready event (and only onc…
florianPat May 23, 2026
1d617fc
feat(cleanup): Make sure to remove remaining certs/proxy configs from…
florianPat May 23, 2026
22c394d
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@v6
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