Skip to content

Commit

Permalink
Merge branch 'main' into docs-updates
Browse files Browse the repository at this point in the history
  • Loading branch information
KFoster-Marks authored Oct 28, 2024
2 parents f142776 + 1fd230d commit 5d6eae0
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 35 deletions.
74 changes: 39 additions & 35 deletions content/github-actions/runner-types.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,41 @@ jobs:
**Note**: We support the `depot-ubuntu-latest-*` alias for `depot-ubuntu-22.04-*` if you want to use the latest Ubuntu version.

**In-memory Disk Accelerator**:

Depot runners reserve a portion of the memory on the runner host for a disk accelerator, backed by a RAM disk. The accelerator acts as buffer between reading and writing to the root disk, which allows Actions runs to perform incredibly fast I/O operations much quicker than the physical disk would allow.

## Intel runners

Intel runners use AMD EC2 instances. Their EBS volume is provisioned with 8000 IOPS and 250 MB/s throughput.

The following labels are available:

| Label | CPUs | Memory | Disk size | Per-minute price |
| :------------------------- | :--- | :----- | :-------- | :--------------- |
| `depot-ubuntu-22.04-small` | 2 | 2 GB | 100 GB | $0.002 |
| `depot-ubuntu-22.04` | 2 | 8 GB | 100 GB | $0.004 |
| `depot-ubuntu-22.04-4` | 4 | 16 GB | 150 GB | $0.008 |
| `depot-ubuntu-22.04-8` | 8 | 32 GB | 300 GB | $0.016 |
| `depot-ubuntu-22.04-16` | 16 | 64 GB | 600 GB | $0.032 |
| `depot-ubuntu-22.04-32` | 32 | 128 GB | 1200 GB | $0.064 |
| `depot-ubuntu-22.04-64` | 64 | 256 GB | 2400 GB | $0.128 |
| Label | CPUs | Memory | Disk size | Disk accelerator size | Per-minute price |
| :------------------------- | :--- | :----- | :-------- | :-------------------- | :--------------- |
| `depot-ubuntu-22.04-small` | 2 | 2 GB | 100 GB | 512MB | $0.002 |
| `depot-ubuntu-22.04` | 2 | 8 GB | 100 GB | 2GB | $0.004 |
| `depot-ubuntu-22.04-4` | 4 | 16 GB | 150 GB | 4GB | $0.008 |
| `depot-ubuntu-22.04-8` | 8 | 32 GB | 300 GB | 8GB | $0.016 |
| `depot-ubuntu-22.04-16` | 16 | 64 GB | 600 GB | 8GB | $0.032 |
| `depot-ubuntu-22.04-32` | 32 | 128 GB | 1200 GB | 16GB | $0.064 |
| `depot-ubuntu-22.04-64` | 64 | 256 GB | 2400 GB | 32GB | $0.128 |

## Arm runners

Arm runners use Graviton3 EC2 instances. Their EBS volume is provisioned with 8000 IOPS and 250 MB/s throughput.

The following labels are available:

| Label | CPUs | Memory | Disk size | Per-minute price |
| :----------------------------- | :--- | :----- | :-------- | :--------------- |
| `depot-ubuntu-22.04-arm-small` | 2 | 2 GB | 100 GB | $0.002 |
| `depot-ubuntu-22.04-arm` | 2 | 8 GB | 100 GB | $0.004 |
| `depot-ubuntu-22.04-arm-4` | 4 | 16 GB | 150 GB | $0.008 |
| `depot-ubuntu-22.04-arm-8` | 8 | 32 GB | 300 GB | $0.016 |
| `depot-ubuntu-22.04-arm-16` | 16 | 64 GB | 600 GB | $0.032 |
| `depot-ubuntu-22.04-arm-32` | 32 | 128 GB | 1200 GB | $0.064 |
| `depot-ubuntu-22.04-arm-64` | 64 | 256 GB | 2400 GB | $0.128 |
| Label | CPUs | Memory | Disk size | Disk accelerator size | Per-minute price |
| :----------------------------- | :--- | :----- | :-------- | :-------------------- | :--------------- |
| `depot-ubuntu-22.04-arm-small` | 2 | 2 GB | 100 GB | 512MB | $0.002 |
| `depot-ubuntu-22.04-arm` | 2 | 8 GB | 100 GB | 2GB | $0.004 |
| `depot-ubuntu-22.04-arm-4` | 4 | 16 GB | 150 GB | 4GB | $0.008 |
| `depot-ubuntu-22.04-arm-8` | 8 | 32 GB | 300 GB | 8GB | $0.016 |
| `depot-ubuntu-22.04-arm-16` | 16 | 64 GB | 600 GB | 8GB | $0.032 |
| `depot-ubuntu-22.04-arm-32` | 32 | 128 GB | 1200 GB | 16GB | $0.064 |
| `depot-ubuntu-22.04-arm-64` | 64 | 256 GB | 2400 GB | 32GB | $0.128 |

## Ubuntu 24.04 runners

Expand All @@ -54,28 +58,28 @@ GitHub have released a **beta** image for Ubuntu 24.04. These runners use the sa

The following labels are available:

| Label | CPUs | Memory | Disk size | Per-minute price |
| :----------------------------- | :--- | :----- | :-------- | :--------------- |
| `depot-ubuntu-24.04-small` | 2 | 2 GB | 100 GB | $0.002 |
| `depot-ubuntu-24.04` | 2 | 8 GB | 100 GB | $0.004 |
| `depot-ubuntu-24.04-4` | 4 | 16 GB | 150 GB | $0.008 |
| `depot-ubuntu-24.04-8` | 8 | 32 GB | 300 GB | $0.016 |
| `depot-ubuntu-24.04-16` | 16 | 64 GB | 600 GB | $0.032 |
| `depot-ubuntu-24.04-32` | 32 | 128 GB | 1200 GB | $0.064 |
| `depot-ubuntu-24.04-64` | 64 | 256 GB | 2400 GB | $0.128 |
| `depot-ubuntu-24.04-arm-small` | 2 | 2 GB | 100 GB | $0.002 |
| `depot-ubuntu-24.04-arm` | 2 | 8 GB | 100 GB | $0.004 |
| `depot-ubuntu-24.04-arm-4` | 4 | 16 GB | 150 GB | $0.008 |
| `depot-ubuntu-24.04-arm-8` | 8 | 32 GB | 300 GB | $0.016 |
| `depot-ubuntu-24.04-arm-16` | 16 | 64 GB | 600 GB | $0.032 |
| `depot-ubuntu-24.04-arm-32` | 32 | 128 GB | 1200 GB | $0.064 |
| `depot-ubuntu-24.04-arm-64` | 64 | 256 GB | 2400 GB | $0.128 |
| Label | CPUs | Memory | Disk size | Disk accelerator size | Per-minute price |
| :----------------------------- | :--- | :----- | :-------- | :-------------------- | :--------------- |
| `depot-ubuntu-24.04-small` | 2 | 2 GB | 100 GB | 512MB | $0.002 |
| `depot-ubuntu-24.04` | 2 | 8 GB | 100 GB | 2GB | $0.004 |
| `depot-ubuntu-24.04-4` | 4 | 16 GB | 150 GB | 4GB | $0.008 |
| `depot-ubuntu-24.04-8` | 8 | 32 GB | 300 GB | 8GB | $0.016 |
| `depot-ubuntu-24.04-16` | 16 | 64 GB | 600 GB | 8GB | $0.032 |
| `depot-ubuntu-24.04-32` | 32 | 128 GB | 1200 GB | 16GB | $0.064 |
| `depot-ubuntu-24.04-64` | 64 | 256 GB | 2400 GB | 32GB | $0.128 |
| `depot-ubuntu-24.04-arm-small` | 2 | 2 GB | 100 GB | 512MB | $0.002 |
| `depot-ubuntu-24.04-arm` | 2 | 8 GB | 100 GB | 2GB | $0.004 |
| `depot-ubuntu-24.04-arm-4` | 4 | 16 GB | 150 GB | 4GB | $0.008 |
| `depot-ubuntu-24.04-arm-8` | 8 | 32 GB | 300 GB | 8GB | $0.016 |
| `depot-ubuntu-24.04-arm-16` | 16 | 64 GB | 600 GB | 8GB | $0.032 |
| `depot-ubuntu-24.04-arm-32` | 32 | 128 GB | 1200 GB | 16GB | $0.064 |
| `depot-ubuntu-24.04-arm-64` | 64 | 256 GB | 2400 GB | 32GB | $0.128 |

## macOS runners

**Status: Beta**

macOS runners use instances with M2 chips running macOS 14. Their EBS volume is provisioned with 8000 IOPS and 1000 MB/s throughput.
macOS runners use instances with M2 chips running macOS 14. Their EBS volume is provisioned with 8000 IOPS and 1000 MB/s throughput. Like the Linux runners, the macOS runners also have a disk accelerator.

**Note**: These runners are only available on the [Startup plan](/pricing) during beta.

Expand Down
47 changes: 47 additions & 0 deletions content/guides/docker-compose.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,50 @@ When using `docker compose build` with Depot, there are a few things to be aware
3. It's not possible to use multiple different Depot projects for different Compose services with `docker compose build`.

However, `depot configure-docker` does directly integrate with any tools that use Docker Buildx, so if you are unable to use `depot bake --load` or otherwise need full Buildx compatibility with other tools, this is a good option.

## Building and testing `docker compose` on GitHub Actions

With the `depot/bake-action` action and the `--save` flag, we can build all of the services in a Compose file in parallel and save them to the Depot ephemeral registry. Then, with the `depot/pull-action`, we can pull all of the images back into the local Docker daemon for testing in subsequent jobs.

```yaml
name: Depot example compose
on: push
permissions:
contents: read
id-token: write
packages: write
jobs:
build-services:
runs-on: ubuntu-22.04
outputs:
build-id: ${{ steps.bake.outputs.build-id }}
steps:
- uses: actions/checkout@v4
- uses: depot/setup-action@v1
- name: Build, cache, and save all compose images to the depot ephemeral registry.
uses: depot/bake-action@v1
id: bake
with:
files: docker-compose.yml
save: true
test:
runs-on: depot-ubuntu-22.04
needs: [build-services]
steps:
- uses: actions/checkout@v4
- uses: depot/setup-action@v1
- name: Pull all compose service images locally from the ephemeral registry.
uses: depot/pull-action@v1
with:
build-id: ${{ needs.build-services.outputs.build-id }}
- name: Run compose up (images should not rebuild)
run: |
docker compose up -d
- name: If successful push the srv1 compose service target image to ghcr.io from ephemeral registry
run: |
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $ --password-stdin
depot push --target srv1 -t ghcr.io/depot/srv1:latest ${{ steps.build.outputs.build-id }}
```

0 comments on commit 5d6eae0

Please sign in to comment.