This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/.github/workflows/test-docs.yml

84 lines
2.5 KiB
YAML
Raw Normal View History

Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
name: "Test Docs"
on:
push:
branches: [main]
paths:
- '**.go'
- '**.cue'
- 'docs/**'
- 'Makefile'
- '.github/workflows/test-docs.yml'
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
pull_request:
branches: [main]
paths:
- '**.go'
- '**.cue'
- 'docs/**'
- 'Makefile'
- '.github/workflows/test-docs.yml'
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# jobs:
# test-docs:
# name: "Test Docs"
# runs-on: ubuntu-latest
# timeout-minutes: 15
# steps:
# - name: "Check out"
# uses: actions/checkout@v2
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# - name: "Setup Go"
# uses: actions/setup-go@v1
# with:
# go-version: 1.16
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# - name: "Install CUE"
# run: |
# # Cue
# export CUE_VERSION="$(grep cue ./go.mod | cut -d' ' -f2 | head -1 | sed -E 's/\.[[:digit:]]\.[[:alnum:]]+-[[:alnum:]]+$//')"
# export CUE_TARBALL="cue_${CUE_VERSION}_linux_amd64.tar.gz"
# echo "Installing cue version $CUE_VERSION"
# curl -L https://github.com/cue-lang/cue/releases/download/${CUE_VERSION}/${CUE_TARBALL} | sudo tar zxf - -C /usr/local/bin
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# - name: "Run local registry"
# run: |
# docker run -d -p 5000:5000 --name registry registry:2
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# # TODO: DISABLED for CI deadlock debugging
# # - name: Generate KiND config
# # run: |
# # echo 'kind: Cluster
# # apiVersion: kind.x-k8s.io/v1alpha4
# # containerdConfigPatches:
# # - |-
# # [plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:5000"]
# # endpoint = ["http://registry:5000"]' > ./kind-config.yaml
# # cat ./kind-config.yaml
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# # - name: "Setup KiND"
# # uses: helm/kind-action@v1.2.0
# # with:
# # config: "./kind-config.yaml"
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# # - name: Connect local registry to KiND
# # run: |
# # docker network connect kind registry
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# - name: "Import Dagger private key"
# env:
# DAGGER_AGE_KEY: ${{ secrets.DAGGER_AGE_KEY }}
# run: |
# mkdir -p ~/.config/dagger
# echo "$DAGGER_AGE_KEY" > ~/.config/dagger/keys.txt
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# - name: "Expose GitHub Runtime"
# uses: crazy-max/ghaction-github-runtime@v1
Split CI workflow into individual workflows I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing. It would be great if we could only re-run the jobs that failed, rather than all the jobs in the CI workflow. Going forward, we should focus on improving flaky tests, and speed the jobs which take the longest, but for now this is a good start. Before this change, we were wasting a lot of dev time - 2h in total for my last PR #1476 - but also wasting CI minutes. Some of us were even tempted to ignore CI 😱. This is a very slipper slope, and while it may feel liberating in the short-term, there are many "windmill monsters" down this path - don't do it. Have a look at the CI workflow before this change to see how many failures we had: https://github.com/dagger/dagger/actions/workflows/ci.yml Without looking at the jobs that failed, can you guess which areas are the flakiest and need our attention the most? Integration & Universe are good guesses, and I wish we could see this without digging into the CI workflow - this change does that. There is a lot more that can be improved here, but I didn't want to get too carried away. The biggest improvement that we can make is switch this to Dagger, which has some challenges, but I definitely intend to tackle them because it feels worth it. This is good enough for now. This is a ship & show PR. If all tests pass, this is a straight merge. I am keeping it atomic so that we can revert it if we don't like it. cc @aluzzardi @talentedmrjones @jlongtine @samalba @shykes @grouville Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-25 14:25:04 +01:00
# - name: Test
# # TODO: https://github.com/dagger/dagger/pull/1341
# # env:
# # DAGGER_CACHE_TO: "type=gha,mode=max,scope=test-docs"
# # DAGGER_CACHE_FROM: "type=gha,mode=max,scope=test-docs"
# run: |
# make doc-test