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
882d2e2
fix(compose): Fix compose file path resolution as it is copied into t…
florianPat Nov 1, 2024
686a6dc
feat: If no service key is given, we assume its _lando-compose for se…
florianPat Apr 3, 2026
233029b
refactor(compose): Fix to use the configured compose seperator in all…
florianPat Nov 1, 2024
1d774ff
fix(app.mounts): Use configured appMount of service and not always /a…
florianPat Oct 2, 2024
b10a53d
refactor(home-dir): Add a config option to just share the ssh directo…
florianPat Nov 1, 2024
b891145
update(traefik): Enable the traefik dashboard as thats useful per def…
florianPat Nov 1, 2024
0cfac6d
fix(tooling): Check that container setup is finished at container sta…
florianPat Sep 9, 2024
809fb9e
fix(events): Make sure the perm-sweep is run for docker-compose services
florianPat Nov 16, 2024
b2f1e6d
feat(exec): Exec can also run if the app is not yet started and add n…
florianPat Oct 19, 2024
bec4535
feat(volumes): Use the lando proxy dir as the config volume and there…
florianPat Sep 9, 2024
9c2f02b
feat(bootstrap): Add special '_init' service for events so that one c…
florianPat Oct 19, 2024
c73db9f
feat(bootstrap): Add bootstrap event handling and fix lando is not ye…
florianPat Oct 19, 2024
f90004f
feat(_init-for-tooling): Add special _init service for tooling commands
florianPat Oct 20, 2024
a7656c8
feat(init): Remove init compose after execution
florianPat Oct 19, 2024
7224f00
feat(core): Add core loading also from config
florianPat Nov 7, 2024
53fe8be
fix(config): Fix reloading of lando config after setup as binary config
florianPat Jan 3, 2025
711a687
feat(events): Add special `lando` service for events to run tooling t…
florianPat Jan 5, 2025
e849763
feat: Optional docker composification of project name
florianPat Jan 6, 2025
d69a3db
fix(lando-entrypoint): Due to script mounting changes the fallback of
florianPat Jan 19, 2025
6eb869d
feat(env-file): Add compose_env_file option to the .lando.yml
florianPat Feb 24, 2025
5871c51
feat(docker-bin): Use which docker to find the docker binary
florianPat Mar 4, 2025
3ff4b16
feat(cli): Add lando_cli env var as a yargs configuration
florianPat Mar 4, 2025
87b420c
fix(setup-engine): Do not throw an error if docker desktop is not
florianPat Mar 13, 2025
a81ec42
feat(plugin-auth): Inject auth from home npmrc to authenticate agains…
florianPat Aug 22, 2025
26cac94
feat(wsl): Use docker-engine in wsl instead of docker desktop for bet…
florianPat Aug 25, 2025
a0c2fbc
feat(proxy): Add option to not strip hostname prefixes
florianPat Aug 25, 2025
476c9f0
Revert "feat(wsl): Use docker-engine in wsl instead of docker desktop…
florianPat Aug 29, 2025
ec0cf7a
feat: Reduce volumes
florianPat Dec 2, 2025
70f8117
chore: Make sure to not have another install indirection and just ins…
florianPat Dec 3, 2025
bb8ec6e
feat: Use homepageurl of the core plugin to update the core/cli
florianPat Jan 4, 2026
41db25a
chore: Remove unneeded reset orchastrator
florianPat Dec 7, 2025
13378fa
fix(pull): Do not try to pull an image which is buildable in docker c…
florianPat Dec 30, 2025
eb1e6b2
fix: Trusted publishing
florianPat Dec 30, 2025
ee025e9
feat: Be able to pass compose options through to docker compose
florianPat Jan 4, 2026
804407e
feat: Add in env vars from the LANDO_CLI_ENV_JSON env var
florianPat Jan 5, 2026
3ca8a28
feat: Do not strip COMPOSE_ env variables
florianPat Jan 5, 2026
f3bd0ef
fix(perm-helpers): Fix permission setup so that it also works for alpine
florianPat Dec 29, 2024
cd85e40
fix(tooling): fix resolve dir/appmount on the first start if we start…
florianPat Jan 30, 2026
401012a
feat: Add quietPull option for compose up command
florianPat Mar 15, 2026
4b28b25
chore: Bump docker versions
florianPat Dec 4, 2025
a00c28d
feat: Set the entrypoint to /lando-entrypoint.sh but make sure that t…
florianPat Apr 3, 2026
cf70c88
Make sure that user-perms does not fail if we run as webroot user root
florianPat Apr 3, 2026
0ec6bc6
Small optimizations: No unnecessary chmod and do not run user-perms i…
florianPat Apr 3, 2026
9dab4e8
feat(entrypoint): Make sure that services stay alive even if the comm…
florianPat Apr 11, 2026
57147fa
feat(generate-certs): Generate certs in the ready event (and only onc…
florianPat May 23, 2026
ef271a7
feat(cleanup): Make sure to remove remaining certs/proxy configs from…
florianPat May 23, 2026
ae1d105
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