From 7520620a0822804fd5e60627e30b440aaea67846 Mon Sep 17 00:00:00 2001 From: William Yang Date: Mon, 10 Jan 2022 12:34:41 +0100 Subject: [PATCH] ci(cross_build_packages): use cache --- .github/workflows/build_packages.yaml | 45 +++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index d72053f49..2a4f8d190 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -164,6 +164,31 @@ jobs: kerl update releases kerl build ${{ matrix.otp }} kerl install ${{ matrix.otp }} $HOME/.kerl/${{ matrix.otp }} + + - name: Get deps git refs for cache + id: deps-refs + run: | + cd source + . $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}" + make clean-all + - name: load rocksdb cache + uses: actions/cache@v2 + with: + path: source/_build/default/lib/rocksdb/ + key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_ROCKSDB_REF }} + - name: load quicer cache + uses: actions/cache@v2 + with: + path: source/_build/default/lib/quicer/ + key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_QUICER_REF }} + - name: build working-directory: source run: | @@ -260,6 +285,26 @@ jobs: path: . - name: unzip source code run: unzip -q source.zip + - name: Get deps git refs for cache + 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}" + make clean-all + - name: load rocksdb cache + uses: actions/cache@v2 + with: + path: source/_build/default/lib/rocksdb/ + key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_ROCKSDB_REF }} + - name: load quicer cache + uses: actions/cache@v2 + with: + path: source/_build/default/lib/quicer/ + key: ${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.arch }}-${{ steps.deps-refs.outputs.DEP_QUICER_REF }} - name: downloads old emqx zip packages env: OTP_VSN: ${{ matrix.otp }}