我必须创建一个管道的一部分,在我的朋友上,git已经是它的核心了。
每次提交后,文件中都会有新的内容添加到文件中,然后将文件返回给git,我可以看到最新的文件是zip中的一个文件(作为标签)。
我想做什么?我想在提交和释放新文件之间添加一些代码。在此期间,我想在命令行(或任何其他方法)中使用sed commit注解几行,然后将其作为robot.jar应用程序(java)的参数,并以与之前完全相同的方式返回结果。
我是在本地完成的,但是很难把它放到github中。每次提交后,我都希望获取文件opencs.ttl,做一些修改,然后按现在的样子返回。
我的代码在命令行本地注解文件:
sed -i '15 s/^/ foaf:name "XYZ".] #/' <file>
sed -i '16 s/^/#/' <file>
sed -i '21 s/^/#/' <file>
运行robot的代码:
java -jar robot.jar reason --reasoner HermiT --axiom-generators "PropertyAssertion" --input openCS/output_opencs.ttl --output output_opencs2.ttl;
我的朋友管道(https://github.com/OpenCS-ontology/OpenCS):
name: "pre-release"
on:
push:
branches:
- main
jobs:
pre-release:
name: "Pre-release"
runs-on: "ubuntu-latest"
container: ghcr.io/opencs-ontology/ci-worker:main
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
path: opencs
- name: "Package ontology"
run: python /app/package.py opencs package dev
- uses: "marvinpinto/action-automatic-releases@v1.2.1"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "dev"
prerelease: true
title: "Development build"
files: package/*
##########################################################
PROBABLY HERE SHOULD BE MY CODE (?)
##########################################################
- name: "Prepare ontology files for commit"
run: |
mkdir output_files
gzip -cd package/opencs.ttl.gz > output_files/opencs.ttl
gzip -cd package/opencs.rdf.gz > output_files/opencs.rdf
gzip -cd package/opencs.nt.gz > output_files/opencs.nt
- name: "Push the files to the Github Pages repository"
uses: "cpina/github-action-push-to-another-repository@main"
env:
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
with:
source-directory: 'output_files'
destination-github-username: 'opencs-ontology'
destination-repository-name: 'opencs-ontology.github.io'
user-name: ci-worker
target-directory: /releases/latest
target-branch: main
我在本地完成的,我可以用我的代码转换它,然后输入到robot.jar中并“推理”它。现在我不知道如何用git操作做同样的事情。
1条答案
按热度按时间ogq8wdun1#
首先,Github并不总是知道你什么时候提交,但Github只有在知道某个事件时才能运行Actions,而这是在他们的托管存储库中的一个更改。这意味着你要么直接在Github上通过Web界面提交,要么在本地Git客户端提交并将更改推送到Github。
很可能你应该在
Checkout repository
步骤之后,python在Package ontology
步骤中创建包之前添加你的代码。使用
run
步骤执行sed和java命令。https://docs.github.com/en/actions/learn-github-actions/essential-features-of-github-actions#adding-scripts-to-your-workflow