File tree Expand file tree Collapse file tree 3 files changed +43
-26
lines changed Expand file tree Collapse file tree 3 files changed +43
-26
lines changed Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ # this script is executed by multiple buildkite agents running on one node, so we write the pid to a file
3
+ # if the pidfile exists we know another process is executing so we don't need to install anything
4
+ #
5
+ # A more robust approach would be to use a lock file, but that would require some more work
6
+ set -eu
7
+ pushd " $( dirname " ${BASH_SOURCE[0]} " ) " /../..
8
+
9
+ WORKDIR=$( pwd)
10
+ PIDFILE=/var/lock/dobackup.pid
11
+
12
+ remove_pidfile ()
13
+ {
14
+ rm -f " $PIDFILE "
15
+ }
16
+
17
+ another_instance ()
18
+ {
19
+ echo " There is another instance running, skipping"
20
+ exit 0
21
+ }
22
+
23
+ if [ -f " $PIDFILE " ]; then
24
+ kill -0 " $( cat $PIDFILE ) " && another_instance
25
+ fi
26
+ trap remove_pidfile EXIT
27
+ echo $$ > " $PIDFILE "
28
+
29
+ echo " Installing asdf dependencies as defined in '${WORKDIR} /.tool-versions':"
30
+ asdf install
Original file line number Diff line number Diff line change 1
1
#! /usr/bin/env bash
2
- # this script is executed by multiple buildkite agents running on one node, so we write the pid to a file
3
- # if the pidfile exists we know another process is executing so we don't need to install anything
4
- #
5
- # A more robust approach would be to use a lock file, but that would require some more work
6
- set -eu
7
- pushd " $( dirname " ${BASH_SOURCE[0]} " ) " /../..
8
-
9
- WORKDIR=$( pwd)
10
- PIDFILE=/var/lock/dobackup.pid
11
-
12
- remove_pidfile ()
13
- {
14
- rm -f " $PIDFILE "
15
- }
16
-
17
- another_instance ()
18
- {
19
- echo " There is another instance running, skipping"
2
+ # Skip the rest if this is pipeline upload or empty
3
+ if [[ " ${BUILDKITE_COMMAND:- } " =~ " buildkite-agent pipeline upload" .* ]]; then
4
+ exit 0
5
+ elif [[ " ${BUILDKITE_COMMAND:- } " = " " ]]; then
20
6
exit 0
21
- }
22
-
23
- if [ -f " $PIDFILE " ]; then
24
- kill -0 " $( cat $PIDFILE ) " && another_instance
25
7
fi
26
- trap remove_pidfile EXIT
27
- echo $$ > " $PIDFILE "
28
8
29
- echo " Installing asdf dependencies as defined in '${WORKDIR} /.tool-versions':"
30
- asdf install
9
+ if [ ! -f .use_mise ]; then
10
+ source ./asdf-pre-command
11
+ fi
Original file line number Diff line number Diff line change
1
+ Stateless CI agents use the presence of this file to determine whether it should install tools with mise or install them with ASDF.
2
+ Thus if you delete this file, CI will use ASDF to install tools and not mise.
3
+
4
+ The file is only meant to be here while we transition to using mise completely.
5
+
6
+ For more information you can reach out to the dev-infra team on #discuss-dev-infra.
You can’t perform that action at this time.
0 commit comments