我想为一个开源项目(特别是here (hexchat.c#L191, is_session))做出贡献,该项目的所有者已经建立了Travis。我想将Coveralls集成到该项目中并发送请求请求。当我拥有该项目时,过程很简单:
.travis.yml
和特定于语言的工具配置构建/测试系统repoToken
repoToken
作为环境变量添加到项目的Travis系统中.travis.yml
的{{1}}周期中。但是,当我不拥有存储库时,我会遇到问题。
after_success
,当我将该PR发送给存储库所有者时,它将相同,而必须为/github/myusername/forkedrepo
。/github/ownersusername/originalrepo
,因为我不拥有它。所以我的问题是:
repoToken
环境变量原始系统和/或为所有者创建Coveralls系统一样?谢谢。
答案 0 :(得分:1)
您可能想根据要使用的覆盖率工具修改自己的pom.xml,请参见https://github.com/trautonen/coveralls-maven-plugin以获得一些说明。
您可以避免将回购令牌放在您在github上发布的pom.xml文件中!
您可以从命令行运行覆盖率报告。
这是一个小的帮助程序脚本,它将允许从命令行运行converalls。只需将令牌放在$ HOME / .coveralls之类的地方或任何类似位置即可。
conn=sqlite3.connect('rosterdb.sqlite')
cur=conn.cursor()
cur.execute(
'''
DROP TABLE IF EXISTS USER;
DROP TABLE IF EXISTS Course;
DROP TABLE IF EXISTS Member;
CREATE TABLE User (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
name TEXT UNIQUE
);
CREATE TABLE Course (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
title TEXT UNIQUE
);
CREATE TABLE Member (
user_id INTEGER,
course_id INTEGER,
role INTEGER,
PRIMARY KEY (user_id, course_id)
)
'''
)
fname=input('Enter file name')
if len(fname)<1:
fname=roster_data.json
str_data=open(fname).read()
json_data=json.loads(str_data)
for entry in json_data:
name=entry[0]
title=entry[1]
role=entry[2]
print(name,title,role)
cur.execute('''INSERT OR IGNORE INTO User (name)
VALUES ( ? )''', ( name, ) )
cur.execute('SELECT id FROM User WHERE name = ? ', (name, ))
user_id = cur.fetchone()[0]
cur.execute('''INSERT OR IGNORE INTO Course (title)
VALUES ( ? )''', ( title, ) )
cur.execute('SELECT id FROM Course WHERE title = ? ', (title, ))
course_id = cur.fetchone()[0]
cur.execute('''INSERT OR IGNORE INTO Member(user_id,course_id,role)
VALUES(?,?,?)''',(user_id,course_id,role))
conn.commit()
更新 这是使用COVERALLS_TOKEN环境变量的版本:
#!/bin/bash
# WF 2019-06-26
# create test coverage report for coveralls
tokenpath=$HOME/.coveralls/coveralls.token
if [ ! -f $tokenpath ]
then
echo "Script needs coveralls token in $tokenpath to work" 1>&2
echo "Script can only be run successfully by project admins" 1>&2
echo "see https://github.com/trautonen/coveralls-maven-plugin" 1>&2
exit 1
else
token=$(cat $tokenpath)
# comment out to use jacoco
#mvn clean test jacoco:report coveralls:report -D jacoco=true -DrepoToken=$token
# comment out to use cobertura
mvn cobertura:cobertura coveralls:report -DrepoToken=$token
fi