From e388ad1b2185d126fc4601140868243d072ecce6 Mon Sep 17 00:00:00 2001 From: William Yang Date: Wed, 12 Jan 2022 11:58:50 +0100 Subject: [PATCH] ci(build-cache): add scripts/get-dep-refs.sh --- .github/workflows/build_packages.yaml | 18 +++--------------- .github/workflows/build_slim_packages.yaml | 12 ++---------- scripts/get-dep-refs.sh | 11 +++++++++++ 3 files changed, 16 insertions(+), 25 deletions(-) create mode 100755 scripts/get-dep-refs.sh diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index cf580f015..c48ceab10 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -172,11 +172,7 @@ jobs: . $HOME/.kerl/${{ matrix.otp }}/activate make ensure-rebar3 sudo cp rebar3 /usr/local/bin/rebar3 - rebar3 get-deps - RocksDBRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"rocksdb">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_ROCKSDB_REF::${RocksDBRef}" - QuicerRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"quicer">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_QUICER_REF::${QuicerRef}" + scripts/get-dep-refs.sh make clean-all - name: load rocksdb cache uses: actions/cache@v2 @@ -289,11 +285,7 @@ jobs: id: deps-refs run: | cd source - rebar3 get-deps - RocksDBRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"rocksdb">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_ROCKSDB_REF::${RocksDBRef}" - QuicerRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"quicer">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_QUICER_REF::${QuicerRef}" + scripts/get-dep-refs.sh make clean-all - name: load rocksdb cache uses: actions/cache@v2 @@ -427,11 +419,7 @@ jobs: cd source make ensure-rebar3 sudo cp rebar3 /usr/local/bin/rebar3 - rebar3 get-deps - RocksDBRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"rocksdb">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_ROCKSDB_REF::${RocksDBRef}" - QuicerRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"quicer">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_QUICER_REF::${QuicerRef}" + scripts/get-dep-refs.sh make clean-all - name: load rocksdb cache diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index 80df560a1..aa061e202 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -51,11 +51,7 @@ jobs: - name: Get deps git refs for cache id: deps-refs run: | - rebar3 get-deps - RocksDBRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"rocksdb">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_ROCKSDB_REF::${RocksDBRef}" - QuicerRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"quicer">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_QUICER_REF::${QuicerRef}" + scripts/get-dep-refs.sh make clean-all - name: load rocksdb cache uses: actions/cache@v2 @@ -123,11 +119,7 @@ jobs: . $HOME/.kerl/${{ matrix.otp }}/activate make ensure-rebar3 sudo cp rebar3 /usr/local/bin/rebar3 - rebar3 get-deps - RocksDBRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"rocksdb">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_ROCKSDB_REF::${RocksDBRef}" - QuicerRef=$(erl -noshell -eval '{ok,Raw}=file:consult("rebar.lock"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<"quicer">>,1, Deps), io:format("~s",[Ref]), init:stop().') - echo "::set-output name=DEP_QUICER_REF::${QuicerRef}" + scripts/get-dep-refs.sh make clean-all - name: load rocksdb cache uses: actions/cache@v2 diff --git a/scripts/get-dep-refs.sh b/scripts/get-dep-refs.sh new file mode 100755 index 000000000..5218d4903 --- /dev/null +++ b/scripts/get-dep-refs.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail +get_ref() { + local APP=$1 + #echo "{ok,Raw}=file:consult(\"rebar.lock\"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<\"${APP}\">>,1, Deps), io:format(\"~s\",[Ref]), init:stop()." + erl -noshell -eval "{ok,Raw}=file:consult(\"rebar.lock\"), {_Vsn, Deps}=hd(Raw), {_, {git, _Url, {ref, Ref}},_} = lists:keyfind(<<\"${APP}\">>,1, Deps), io:format(\"~s\",[Ref]), init:stop()." +} + +rebar3 get-deps +echo "::set-output name=DEP_ROCKSDB_REF::$(get_ref rocksdb)" +echo "::set-output name=DEP_QUICER_REF::$(get_ref quicer)"