Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"image": "ghcr.io/skevetter/devpod:latest"
"image": "mcr.microsoft.com/devcontainers/go:latest",
"features": {
"ghcr.io/devcontainers-extra/features/pre-commit:2": {}
}
}
14 changes: 7 additions & 7 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ body:
options:
- label: I have searched existing issues to confirm this is not a duplicate
required: true
- label: I am running the latest version of DevPod
- label: I am running the latest version of Devsy
required: false

- type: textarea
Expand All @@ -35,7 +35,7 @@ body:
label: Steps to reproduce
description: Minimal steps to reproduce. The more precise, the faster the issue can be investigated.
placeholder: |
1. Run `devpod up ...`
1. Run `devsy up ...`
2. Click on ...
3. See error ...
validations:
Expand All @@ -54,7 +54,7 @@ body:
id: logs
attributes:
label: Error output / logs
description: Paste relevant error messages, CLI output, or logs. Use `devpod provider logs` for provider logs.
description: Paste relevant error messages, CLI output, or logs. Use `devsy provider logs` for provider logs.
render: shell
validations:
required: false
Expand Down Expand Up @@ -114,16 +114,16 @@ body:
- type: input
id: version
attributes:
label: DevPod version
description: Output of `devpod version`
label: Devsy version
description: Output of `devsy version`
placeholder: v0.6.0
validations:
required: true

- type: dropdown
id: provider
attributes:
label: DevPod provider
label: Devsy provider
options:
- Docker
- SSH
Expand All @@ -140,7 +140,7 @@ body:
id: provider-version
attributes:
label: Provider version
description: Output of `devpod provider list` for the relevant provider
description: Output of `devsy provider list` for the relevant provider
placeholder: v0.1.0
validations:
required: false
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ body:
id: area
attributes:
label: Area
description: Which part of DevPod does this affect?
description: Which part of Devsy does this affect?
multiple: true
options:
- CLI
Expand All @@ -61,7 +61,7 @@ body:
description: When is this feature complete? What should it do?
placeholder: |
- [ ] User can ...
- [ ] CLI command `devpod ...` supports ...
- [ ] CLI command `devsy ...` supports ...
- [ ] Desktop UI shows ...
validations:
required: false
Expand Down
6 changes: 3 additions & 3 deletions .github/licenses.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ title: Open Source Licenses
sidebar_label: OSS Licenses
---

# Devpod dependencies
# Devsy dependencies

The following open source dependencies are used to build the [DevPod][] CLI.
The following open source dependencies are used to build the [Devsy][] CLI.

[DevPod]: https://devpod.sh
[Devsy]: https://devsy.sh

## Go Packages

Expand Down
45 changes: 26 additions & 19 deletions .github/workflows/act.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,17 @@ jobs:
- name: build test binary
run: task cli:test:e2e:build

- name: generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ secrets.DEVSY_GITHUB_APP_ID }}
private-key: ${{ secrets.DEVSY_GITHUB_APP_PRIVATE_KEY }}

- name: run tests
env:
GH_USERNAME: ${{ github.repository_owner }}
GH_ACCESS_TOKEN: ${{ secrets.GH_PRIVATE_REPO_TOKEN_TEST || github.token }}
GH_ACCESS_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: |
GH_USERNAME="${GH_USERNAME}" \
GH_ACCESS_TOKEN="${GH_ACCESS_TOKEN}" \
Expand Down Expand Up @@ -103,7 +110,7 @@ jobs:
with:
distribution: goreleaser
version: "~> v2"
args: build --id devpod-linux --snapshot
args: build --id devsy-linux --snapshot

- name: setup Rust
uses: dtolnay/rust-toolchain@stable
Expand All @@ -120,13 +127,13 @@ jobs:
working-directory: ./desktop/src-tauri
run: |
mkdir -p ./bin/
find "../../dist" -type f -name "devpod-*" -exec mv {} ./bin \;
find ./bin -type f -name "devpod-*" -exec chmod +x {} \;
find "../../dist" -type f -name "devsy-*" -exec mv {} ./bin \;
find ./bin -type f -name "devsy-*" -exec chmod +x {} \;

- name: rename binaries for desktop build
shell: bash
working-directory: ./desktop/src-tauri
run: find ./bin -type f -name "devpod-linux-amd64" -exec mv {} ./bin/devpod-x86_64-unknown-linux-gnu \;
run: find ./bin -type f -name "devsy-linux-amd64" -exec mv {} ./bin/devsy-x86_64-unknown-linux-gnu \;

- name: install linux dependencies
run: |
Expand Down Expand Up @@ -162,8 +169,8 @@ jobs:
- name: upload desktop linux artifact for flatpak
uses: actions/upload-artifact@v4 # pin to v4 for act support, see https://nektosact.com/usage/index.html?highlight=artif#action-artifacts
with:
name: devpod-flatpak
path: ./desktop/src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/DevPod_*_amd64.deb
name: devsy-flatpak
path: ./desktop/src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/Devsy_*_amd64.deb

build-flatpak:
name: Build Flatpak
Expand All @@ -181,31 +188,31 @@ jobs:
- name: download desktop linux artifact
uses: actions/download-artifact@v4 # pin to v4 for act support, see https://nektosact.com/usage/index.html?highlight=artif#action-artifacts
with:
name: devpod-flatpak
path: /tmp/devpod/
name: devsy-flatpak
path: /tmp/devsy/

# Use GITHUB_WORKSPACE in containers because the path differs from github.workspace
# for more details, see https://github.com/actions/checkout/issues/785
- name: prepare flatpak manifest for PR build
shell: bash
run: |
sed -i "s|url: https://github.com/skevetter/devpod/releases/download/\${VERSION}/DevPod_linux_amd64.deb|path: /tmp/devpod/DevPod_0.0.0_amd64.deb|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "s|url: https://github.com/skevetter/devpod/releases/download/\${VERSION}/DevPod.desktop|path: $GITHUB_WORKSPACE/desktop/flatpak/DevPod.desktop|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "s|url: https://github.com/skevetter/devpod/releases/download/\${VERSION}/DevPod.metainfo.xml|path: $GITHUB_WORKSPACE/desktop/flatpak/DevPod.metainfo.xml|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "/sha256: \${SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "/sha256: \${DESKTOP_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "/sha256: \${META_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "s|url: https://github.com/devsy-org/devsy/releases/download/\${VERSION}/Devsy_linux_amd64.deb|path: /tmp/devsy/Devsy_0.0.0_amd64.deb|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "s|url: https://github.com/devsy-org/devsy/releases/download/\${VERSION}/Devsy.desktop|path: $GITHUB_WORKSPACE/desktop/flatpak/Devsy.desktop|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "s|url: https://github.com/devsy-org/devsy/releases/download/\${VERSION}/Devsy.metainfo.xml|path: $GITHUB_WORKSPACE/desktop/flatpak/Devsy.metainfo.xml|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "/sha256: \${SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "/sha256: \${DESKTOP_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "/sha256: \${META_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"

- name: update flatpak metadata version and date
run: |
DATE=$(date +%Y-%m-%d)
VERSION="v0.0.0"

sed -i "s/__VERSION__/${VERSION}/g" "$GITHUB_WORKSPACE/desktop/flatpak/DevPod.metainfo.xml"
sed -i "s/__DATE__/${DATE}/g" "$GITHUB_WORKSPACE/desktop/flatpak/DevPod.metainfo.xml"
sed -i "s/__VERSION__/${VERSION}/g" "$GITHUB_WORKSPACE/desktop/flatpak/Devsy.metainfo.xml"
sed -i "s/__DATE__/${DATE}/g" "$GITHUB_WORKSPACE/desktop/flatpak/Devsy.metainfo.xml"

- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: DevPod.flatpak
manifest-path: desktop/flatpak/sh.loft.devpod.yml
bundle: Devsy.flatpak
manifest-path: desktop/flatpak/sh.devsy.devsy.yml
upload-artifact: false
2 changes: 1 addition & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
issues: write
runs-on: ubuntu-latest
steps:
- uses: skevetter/pr-size-labeler@v1
- uses: devsy-org/pr-size-labeler@v1
with:
xs_label: "size/xs"
xs_max_size: "10"
Expand Down
78 changes: 43 additions & 35 deletions .github/workflows/pr-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Check secret
id: check-secret
run: |
if [ -z "${{ secrets.TEST_ACCESS_TOKEN }}" ]; then
if [ -z "${{ secrets.DEVSY_GITHUB_APP_ID }}" ]; then
echo "secret-set=false" >> "$GITHUB_OUTPUT"
else
echo "secret-set=true" >> "$GITHUB_OUTPUT"
Expand Down Expand Up @@ -83,14 +83,14 @@ jobs:
with:
distribution: goreleaser
version: "~> v2"
args: build --id devpod-${{ steps.os.outputs.runner_os }} --snapshot
args: build --id devsy-${{ steps.os.outputs.runner_os }} --snapshot
env:
DEVPOD_CLI_VERSION: v0.0.0
DEVSY_CLI_VERSION: v0.0.0

- uses: actions/upload-artifact@v7
with:
name: devpod-${{ steps.os.outputs.runner_os }}
path: dist/devpod-${{ steps.os.outputs.runner_os }}_*/devpod-${{ steps.os.outputs.runner_os }}-*
name: devsy-${{ steps.os.outputs.runner_os }}
path: dist/devsy-${{ steps.os.outputs.runner_os }}_*/devsy-${{ steps.os.outputs.runner_os }}-*

integration-tests:
name: Test ${{ matrix.label }} on ${{ matrix.runner }}
Expand Down Expand Up @@ -288,16 +288,16 @@ jobs:
if: matrix.requires-secret == false || needs.can-read-secret.outputs.secret-set == 'true'
uses: actions/download-artifact@v8
with:
pattern: devpod-${{ steps.os.outputs.runner_os }}
path: ${{ runner.temp }}/devpod-bin/
pattern: devsy-${{ steps.os.outputs.runner_os }}
path: ${{ runner.temp }}/devsy-bin/
merge-multiple: true

- name: download Linux CLI artifacts for Windows
if: runner.os == 'Windows' && (matrix.requires-secret == false || needs.can-read-secret.outputs.secret-set == 'true')
uses: actions/download-artifact@v8
with:
pattern: devpod-linux
path: ${{ runner.temp }}/devpod-bin/
pattern: devsy-linux
path: ${{ runner.temp }}/devsy-bin/
merge-multiple: true

# e2e expects executable to have name defined in e2e/framework/framework.go
Expand All @@ -311,10 +311,10 @@ jobs:
TEMP_DIR="${TEMP_DIR//\\//}"
fi

ls -R "$TEMP_DIR/devpod-bin/"
ls -R "$TEMP_DIR/devsy-bin/"
mkdir -p ./bin/
find "$TEMP_DIR/devpod-bin/" -type f -name "devpod-*" -exec cp {} ./bin \;
find ./bin -name "devpod-*" -exec chmod +x {} \;
find "$TEMP_DIR/devsy-bin/" -type f -name "devsy-*" -exec cp {} ./bin \;
find ./bin -name "devsy-*" -exec chmod +x {} \;
ls -R ./bin/

- name: generate uuid
Expand Down Expand Up @@ -358,14 +358,22 @@ jobs:
sudo apt-get remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd /usr/bin/docker /usr/bin/dockerd

- name: generate GitHub App token
if: matrix.requires-secret == true && needs.can-read-secret.outputs.secret-set == 'true'
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ secrets.DEVSY_GITHUB_APP_ID }}
private-key: ${{ secrets.DEVSY_GITHUB_APP_PRIVATE_KEY }}

- name: run test
if: matrix.requires-secret == false || needs.can-read-secret.outputs.secret-set == 'true'
shell: bash
working-directory: ./e2e
env:
# NOTE: GitHub credentials are required for tests using private repos
GH_USERNAME: ${{ github.repository_owner }}
GH_ACCESS_TOKEN: ${{ matrix.requires-secret == true && secrets.GH_PRIVATE_REPO_TOKEN_TEST || github.token }}
GH_ACCESS_TOKEN: ${{ steps.app-token.outputs.token || github.token }}
run: |
if [ "${{ runner.os }}" == "Linux" ]; then
sudo \
Expand Down Expand Up @@ -451,8 +459,8 @@ jobs:
- name: download CLI artifacts
uses: actions/download-artifact@v8
with:
pattern: devpod-*
path: ${{ runner.temp }}/devpod-bin/
pattern: devsy-*
path: ${{ runner.temp }}/devsy-bin/
merge-multiple: true

- name: setup executable
Expand All @@ -464,17 +472,17 @@ jobs:
TEMP_DIR="${TEMP_DIR//\\//}"
fi

ls -R "$TEMP_DIR/devpod-bin/"
ls -R "$TEMP_DIR/devsy-bin/"
mkdir -p ./bin/
find "$TEMP_DIR/devpod-bin/" -type f -name "devpod-*" -exec cp {} ./bin \;
find ./bin -type f -name "devpod-*" -exec chmod +x {} \;
find "$TEMP_DIR/devsy-bin/" -type f -name "devsy-*" -exec cp {} ./bin \;
find ./bin -type f -name "devsy-*" -exec chmod +x {} \;

find ./bin -type f -name "devpod-linux-amd64" -exec mv {} ./bin/devpod-x86_64-unknown-linux-gnu \;
find ./bin -type f -name "devpod-linux-arm64" -exec mv {} ./bin/devpod-aarch64-unknown-linux-gnu \;
find ./bin -type f -name "devpod-darwin-amd64" -exec mv {} ./bin/devpod-x86_64-apple-darwin \;
find ./bin -type f -name "devpod-darwin-arm64" -exec mv {} ./bin/devpod-aarch64-apple-darwin \;
find ./bin -type f -name "devpod-windows-amd64.exe" -exec mv {} ./bin/devpod-x86_64-pc-windows-msvc.exe \;
find ./bin -type f -name "devpod-windows-arm64.exe" -exec mv {} ./bin/devpod-aarch64-pc-windows-msvc.exe \;
find ./bin -type f -name "devsy-linux-amd64" -exec mv {} ./bin/devsy-x86_64-unknown-linux-gnu \;
find ./bin -type f -name "devsy-linux-arm64" -exec mv {} ./bin/devsy-aarch64-unknown-linux-gnu \;
find ./bin -type f -name "devsy-darwin-amd64" -exec mv {} ./bin/devsy-x86_64-apple-darwin \;
find ./bin -type f -name "devsy-darwin-arm64" -exec mv {} ./bin/devsy-aarch64-apple-darwin \;
find ./bin -type f -name "devsy-windows-amd64.exe" -exec mv {} ./bin/devsy-x86_64-pc-windows-msvc.exe \;
find ./bin -type f -name "devsy-windows-arm64.exe" -exec mv {} ./bin/devsy-aarch64-pc-windows-msvc.exe \;

ls -R ./bin/

Expand Down Expand Up @@ -546,31 +554,31 @@ jobs:
uses: actions/download-artifact@v8
with:
name: desktop-ubuntu-22.04-amd64
path: /tmp/devpod/
path: /tmp/devsy/

# Use GITHUB_WORKSPACE in containers because the path differs from github.workspace
# for more details, see https://github.com/actions/checkout/issues/785
- name: prepare flatpak manifest for PR build
shell: bash
run: |
sed -i "s|url: https://github.com/skevetter/devpod/releases/download/\${VERSION}/DevPod_linux_amd64.deb|path: /tmp/devpod/deb/DevPod_0.0.0_amd64.deb|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "s|url: https://github.com/skevetter/devpod/releases/download/\${VERSION}/DevPod.desktop|path: $GITHUB_WORKSPACE/desktop/flatpak/DevPod.desktop|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "s|url: https://github.com/skevetter/devpod/releases/download/\${VERSION}/DevPod.metainfo.xml|path: $GITHUB_WORKSPACE/desktop/flatpak/DevPod.metainfo.xml|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "/sha256: \${SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "/sha256: \${DESKTOP_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "/sha256: \${META_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.loft.devpod.yml"
sed -i "s|url: https://github.com/devsy-org/devsy/releases/download/\${VERSION}/Devsy_linux_amd64.deb|path: /tmp/devsy/deb/Devsy_0.0.0_amd64.deb|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "s|url: https://github.com/devsy-org/devsy/releases/download/\${VERSION}/Devsy.desktop|path: $GITHUB_WORKSPACE/desktop/flatpak/Devsy.desktop|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "s|url: https://github.com/devsy-org/devsy/releases/download/\${VERSION}/Devsy.metainfo.xml|path: $GITHUB_WORKSPACE/desktop/flatpak/Devsy.metainfo.xml|" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "/sha256: \${SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "/sha256: \${DESKTOP_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"
sed -i "/sha256: \${META_SHA256}/d" "$GITHUB_WORKSPACE/desktop/flatpak/sh.devsy.devsy.yml"

- name: update flatpak metadata version and date
run: |
DATE=$(date +%Y-%m-%d)
VERSION="v0.0.0"

sed -i "s/__VERSION__/${VERSION}/g" "$GITHUB_WORKSPACE/desktop/flatpak/DevPod.metainfo.xml"
sed -i "s/__DATE__/${DATE}/g" "$GITHUB_WORKSPACE/desktop/flatpak/DevPod.metainfo.xml"
sed -i "s/__VERSION__/${VERSION}/g" "$GITHUB_WORKSPACE/desktop/flatpak/Devsy.metainfo.xml"
sed -i "s/__DATE__/${DATE}/g" "$GITHUB_WORKSPACE/desktop/flatpak/Devsy.metainfo.xml"

- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: DevPod.flatpak
manifest-path: desktop/flatpak/sh.loft.devpod.yml
bundle: Devsy.flatpak
manifest-path: desktop/flatpak/sh.devsy.devsy.yml
cache-key: flatpak-builder-${{ github.sha }}
upload-artifact: true
Loading
Loading