那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何本地運行和測試Github Actions?

冬至子 ? 來源:dejavudwh ? 作者:dejavudwh ? 2023-08-02 16:44 ? 次閱讀

前言
一般來說,使用 Github Actions 都需要在 Repo 里完成相應的 event 才能夠觸發(比如push/pull_request等),然后在 Github 提供的服務器(容器)中運行。這樣有兩個缺點:

每次都需要在 Repo 完成相應的 evenet,操作較為費時。
一個 event 可能會觸發多個 Action,并且在 Github 的服務器上運行時需要排隊,運行較為耗時。
所以,本文介紹如何在本地運行 Github Actions 來解決上述兩個問題,主要有以下兩個依賴:

Docker Desktop on Windows(Backend 是 WSL)
act

依賴安裝

Docker Desktop on Windows

安裝 Docker Desktop on Windows 前需要先安裝 WSL,安裝 WSL 的操作可以參考官方文檔

安裝 Docker Desktop on Windows,

進入 Docker Desktop on Windows 時可能會一直停留在 starting the docker engine 界面,可以考慮以下解決方法:

重啟 Docker 服務
net stop com.docker.service

net start com.docker.service

先點擊右上角登錄 Docker 賬號
act
act 是在本地運行 Github Actions 的工具,它依賴于 Docker。安裝可以參考 nektos/act: Run your GitHub Actions locally ,或者直接在這個倉庫的 release 當中下載,只有一個 Windows 可執行文件(exe)。

本地運行 Github Actions
act 使用說明

Command structure:

act [] [options]
If no event name passed, will default to "on: push"
If actions handles only one event it will be used as default instead of "on: push"

List all actions for all events:

act -l

List the actions for a specific event:

act workflow_dispatch -l

List the actions for a specific job:

act -j test -l

Run the default (push) event:

act

Run a specific event:

act pull_request

Run a specific job:

act -j test

Collect artifacts to the /tmp/artifacts folder:

act --artifact-server-path /tmp/artifacts

Run a job in a specific workflow (useful if you have duplicate job names)

act -j lint -W .github/workflows/checks.yml

Run in dry-run mode:

act -n

Enable verbose-logging (can be used with any of the above commands)

act -v
示例:RT-Thread 的 Github Actions
進入 RT-Thread 源代碼目錄(只要進入第一層即可,act 會自動搜索 .github/workflow 目錄)
使用act -l?查看當前目錄下的 Action

1.jpg

可以看到有重名(Job ID)的 Action,所以需要指定要運行的 Action(act -j test -W ..githubworkflowsaction_tools.yml?)
如果運行時拉不下鏡像可以修改一下 daemon.json 中的鏡像源

"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]

運行結果如下:

1.jpg

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 觸發器
    +關注

    關注

    14

    文章

    2003

    瀏覽量

    61347
  • RT-Thread
    +關注

    關注

    31

    文章

    1305

    瀏覽量

    40386
收藏 人收藏

    評論

    相關推薦

    #PikaScript 進階-Github自動測試-Github Actions CI 3.1

    嵌入式
    lyon1998
    發布于 :2022年01月18日 11:40:54

    Github發布史上最大更新

    了。以前我們用Github基本上只有幾個動作:上傳、搜索、下載,如果我們需要測試Github上面一個項目,我們必須下載到本地運行。很多情況一
    發表于 10-17 10:03

    【觸覺智能 Purple Pi開發板試用】 GitHub Actions 在線編譯 uboot by jf_84491108

    https://github.com/wireless-tag-com/uboot-ssd20x提供了本地編譯Purple Pi R1 uboot的教程。但本地編譯需要一臺安裝了Linux或在虛擬機
    發表于 11-01 19:48

    【觸覺智能 Purple Pi開發板試用】 GitHub Actions 在線編譯 Buildroot by jf_84491108

    https://github.com/industio/PurPle-Pi-R1提供了本地編譯Purple Pi R1 Buildroot的教程。但本地編譯需要一臺安裝了Linux或在虛擬機中安裝
    發表于 11-01 22:17

    【觸覺智能 Purple Pi開發板試用】 GitHub Actions 在線編譯 qmsd by jf_84491108

    https://github.com/wireless-tag-com/8ms-sigmastar提供了本地編譯Purple Pi R1 qmsd的教程。但本地編譯需要一臺安裝了Linux或在虛擬機
    發表于 11-02 21:25

    【觸覺智能 Purple Pi開發板試用】 GitHub Actions 在線編譯 OpenWrt 失敗 by jf_84491108

    時往往因網絡原因導致依賴庫安裝不完整,需要更換安裝源等,但即使換源安裝完依賴庫,在編譯過程中可能還會遇到各種由換源安裝導致的稀奇古怪的bug,費時費力。而利用GitHub Actions 在線編譯則
    發表于 11-02 22:09

    嘗試使用GitHub Actions在線編譯瑞薩RZ/G2UL Instructions images

    省流:不行測試流程:(1)新建項目https://github.com/LV36/RZ-G2UL/(2)新建文件.github/workflows/RZ-G2UL-images.yml,文本框中輸入
    發表于 11-21 10:44

    本地測試環境搭建

    本文主要介紹了本地測試環境搭建搭建一個本地測試環境無疑是個明智的選擇,再結合GitHub、Jenkins、Docker等工具,進行持續集成、
    的頭像 發表于 01-31 16:01 ?2906次閱讀
    <b class='flag-5'>本地</b><b class='flag-5'>測試</b>環境搭建

    GitHub宣布開放無限私有存儲庫以及限時訪問GitHub Actions

    GitHub 宣布,即日起,所有用戶都可以免費使用該平臺的核心功能。無論是個人免費賬戶、還是商業項目團隊,都可訪問 GitHub 的無限私有存儲庫、以及每月 2000 分鐘的 GitHub A
    的頭像 發表于 04-15 09:36 ?3649次閱讀

    上傳本地項目代碼到github

    GitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持git 作為唯一的版本庫格式進行托管,故名GitHub。本文主要講解如何將本地代碼上傳至Github
    的頭像 發表于 11-14 16:45 ?1108次閱讀
    上傳<b class='flag-5'>本地</b>項目代碼到<b class='flag-5'>github</b>

    RT-Thread中的Github Actions

    RT-Thread中一共有五個Github Action(rt-thread/.github/workflow) 分別是: RT-Thread BSP build check(.github
    的頭像 發表于 06-01 03:10 ?782次閱讀
    RT-Thread中的<b class='flag-5'>Github</b> <b class='flag-5'>Actions</b>

    如何使用pkgs-test工具進行本地調試?

    pkgs-test作為一個可以在github actions上面運行檢查軟件包編譯情況的工具,同時也可以在本地使用。
    的頭像 發表于 09-21 15:00 ?784次閱讀

    使用pkgs-test工具對軟件包進行qemu測試

    pkgs-test是一個可以在github actions上面檢查軟件包編譯情況的工具。除了檢查軟件包的編譯情況pkgs-test目前還添加了qemu運行測試
    的頭像 發表于 09-25 16:19 ?805次閱讀

    php運行環境本地測試地址是

    PHP運行環境本地測試地址是指在本地計算機上搭建的用于測試運行PHP代碼的的環境地址。搭建該
    的頭像 發表于 12-04 15:25 ?814次閱讀

    Arm推出GitHub平臺AI工具,簡化開發者AI應用開發部署流程

    軟件提供了無縫的開發體驗。 GitHub Actions、原生 GitHub 運行器和基于 Arm 平臺的 AI 框架相結合,幫助全球 2,000 萬開發者簡化 AI 應用開發
    的頭像 發表于 10-31 18:51 ?2899次閱讀
    利来娱乐开户| 百家乐官网群dmwd| 川宜百家乐破解版| 大佬百家乐的玩法技巧和规则| 百家乐官网10法则| 养狗对做生意风水好吗| 线上龙虎| 免费百家乐官网预测工具| 顶级赌场官方网站| 澳门百家乐官网的故事| 明溪百家乐的玩法技巧和规则| 百家乐官网群柏拉图软件| 姚记百家乐的玩法技巧和规则| 玩百家乐官网如何硬| 百家乐冲动| 百家乐官网类游戏网站| 百家乐微乐| 夏邑县| 八卦24山| 皇冠现金网去hgttt| 康莱德百家乐官网的玩法技巧和规则| 大发888的微博| 百家乐官网长庄投注| 老虎机控制器| 金矿百家乐官网的玩法技巧和规则| 棋牌平台| 百家乐翻天粤qvod| 游戏机百家乐官网作弊| 百家乐波音平台开户导航| 百家乐官网视频大厅| 百家乐1元投注| 百家乐官网游戏的玩法| 百家乐扑克牌手机壳| 三亚百家乐官网的玩法技巧和规则 | 汶上县| 百家乐有诈吗| 百家乐官网官方游戏下载| bet365后备网址| 百家乐账号变动原因| 鲨鱼百家乐官网游戏平台| 澳门玩百家乐00|