From 11daef4ab33518b5b0059984b508ba9b2b5c8482 Mon Sep 17 00:00:00 2001 From: William Yang Date: Mon, 10 Jan 2022 12:08:08 +0100 Subject: [PATCH 1/2] ci: use build cache for build_slim_packages --- .github/workflows/build_slim_packages.yaml | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index 4a987b43e..be76c6b2c 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -48,6 +48,25 @@ jobs: echo "EMQX_NAME=${{ matrix.profile }}" >> $GITHUB_ENV echo "CODE_PATH=$GITHUB_WORKSPACE" >> $GITHUB_ENV echo "EMQX_PKG_NAME=${{ matrix.profile }}-$(./pkg-vsn.sh)-otp${{ matrix.otp }}-${{ matrix.os }}-amd64" >> $GITHUB_ENV + - 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}" + make clean-all + - name: load rocksdb cache + uses: actions/cache@v2 + with: + path: _build/default/lib/rocksdb/ + key: ${{ matrix.os }}-${{ matrix.otp }}-amd64-${{ steps.deps-refs.outputs.DEP_ROCKSDB_REF }} + - name: load quicer cache + uses: actions/cache@v2 + with: + path: _build/default/lib/quicer/ + key: ${{ matrix.os }}-${{ matrix.otp }}-amd64-${{ steps.deps-refs.outputs.DEP_QUICER_REF }} - name: build and test zip package run: | make ${EMQX_NAME}-zip @@ -99,6 +118,28 @@ 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: | + . $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: _build/default/lib/rocksdb/ + key: ${{ matrix.macos }}-${{ matrix.otp }}-macos-${{ steps.deps-refs.outputs.DEP_ROCKSDB_REF }} + - name: load quicer cache + uses: actions/cache@v2 + with: + path: _build/default/lib/quicer/ + key: mac-${{ matrix.otp }}-macos-${{ steps.deps-refs.outputs.DEP_QUICER_REF }} - name: build ${{ matrix.profile }} run: | . $HOME/.kerl/${{ matrix.otp }}/activate From e54b1e0581f629e094b7a76d5eba60e421da8f28 Mon Sep 17 00:00:00 2001 From: William Yang Date: Mon, 10 Jan 2022 12:34:41 +0100 Subject: [PATCH 2/2] ci(build_slim_packages): reenable mac build --- .github/workflows/build_slim_packages.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build_slim_packages.yaml b/.github/workflows/build_slim_packages.yaml index be76c6b2c..80df560a1 100644 --- a/.github/workflows/build_slim_packages.yaml +++ b/.github/workflows/build_slim_packages.yaml @@ -80,7 +80,6 @@ jobs: name: ${{ matrix.profile}}-${{ matrix.otp }}-${{ matrix.os }} path: _packages/**/*.zip mac: - if: contains(github.event.pull_request.labels.*.name, 'Mac') strategy: fail-fast: false matrix: @@ -139,7 +138,7 @@ jobs: uses: actions/cache@v2 with: path: _build/default/lib/quicer/ - key: mac-${{ matrix.otp }}-macos-${{ steps.deps-refs.outputs.DEP_QUICER_REF }} + key: ${{ matrix.macos }}-${{ matrix.otp }}-macos-${{ steps.deps-refs.outputs.DEP_QUICER_REF }} - name: build ${{ matrix.profile }} run: | . $HOME/.kerl/${{ matrix.otp }}/activate