From a8023fa349937b1e22c856aecfe41883806c90a6 Mon Sep 17 00:00:00 2001 From: Jeff DiCorpo <42048757+jeffdi@users.noreply.github.com> Date: Wed, 15 Dec 2021 20:20:37 -0800 Subject: [PATCH] Create auto-update-caravel-lite.yml --- .../workflows/auto-update-caravel-lite.yml | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 .github/workflows/auto-update-caravel-lite.yml diff --git a/.github/workflows/auto-update-caravel-lite.yml b/.github/workflows/auto-update-caravel-lite.yml new file mode 100644 index 00000000..e7527278 --- /dev/null +++ b/.github/workflows/auto-update-caravel-lite.yml @@ -0,0 +1,61 @@ +# SPDX-FileCopyrightText: 2020 Efabless Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# SPDX-License-Identifier: Apache-2.0 + +# This is a workflow to automatically update caravel-lite whenever caravel master is updated. +name: Auto Update Caravel Lite + +# Controls when the action will run. +on: + # Trigger the workflow on push to master branch + push: + branches: + - master + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + - name: Install SSH key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_PRIVATE_KEY }} + name: id_rsa # optional + known_hosts: ${{ secrets.KNOWN_HOSTS }} + + - name: Install git-filter-repo + run: pip install git-filter-repo + + - name: Update Caravel Lite + run: | + mkdir -p caravel-lite + cd caravel-lite + git init + git checkout -b main + git remote add parent https://github.com/efabless/caravel + git pull parent master + git fetch --all --tags + git filter-repo --path openlane/user_project_wrapper_empty --path openlane/user_analog_project_wrapper_empty --path openlane/Makefile --path gds/user_project_wrapper_empty.gds.gz --path gds/user_analog_project_wrapper_empty.gds.gz --path mag/user_project_wrapper_empty.mag --path mag/user_analog_project_wrapper_empty.mag --path lef/user_project_wrapper_empty.lef --path lef/user_analog_project_wrapper_empty.lef --path verilog/ --path info.yaml --path Makefile --path scripts/ --path utils/ --path LICENSE --path manifest --path spi/lvs/run_lvs.sh --path gds/gds2mag-all.sh --path gds/drc_on_gds.tcl --path gds/antenna_on_gds.tcl --path spi/lvs/caravel.spice --path spi/lvs/caravan.spice --force + git remote add caravel_lite git@github.com:efabless/caravel_openframe-lite.git + git push --force caravel_lite main + git push -f --tags caravel_lite main